If you want to match the first five letters, you'll find a match on average 1 out of every 38 billion addresses that you generate.
As you can see, it quickly gets very difficult (and time consuming) to find an address that matches many letters.
Generally, I understand the numbers, I trust the numbers.
But, isn't this a waste of generating numbers? By that I mean what if everybody who gets involved in BTC started trying to generate a vanity address of more and more first X letters, won't that speed up the possible duplication of numbers in some future life time?
Or would it not really matter because all but one of those numbers, the desired vanity address, ever be used?
Trust the Numbers.....
Bitcoin addresses consist of an alphanumerical string with a length of up to 34 characters, excluding the capital "O", the capital "I" and the lowercase "l", as well as the number "0". Since there are around 1.4*10^48 possible addresses, the chance that a duplicate is found can be calculated using the birthday problem as 1-exp(-(4*10^17)^2/(2*1.4*10^48)), or approximately 0.000000000005%, which means there's a one in 20000 billion of generating the same public/private key pair.
All in all, you don't have to ever worry about a collision or "duplicate"