For any two distinct real numbers, there are an infinite amount of real numbers between them (between 1 and 2 you have 1.5. 1.55. 1.555 etc on for infinity, and then between each of those there is another infinite number of numbers)
There is no number between 99.999... and 100, therefore 99.999... = 100
More or less this.
Here's another way to look at it. Consider the infinite sequence S1 = (1 - 0.1) = 0.9, S2 = (1 - 0.01) = .99, S3 = (1 - 0.001) = .999, ..., Sn = (1 - (1/(10^n))). As n gets increasingly large, Sn gets closer to 1. Now pick an arbitrary number E, some number that you think is as close to 1 as you can get. Notice that you can easily make (1 - Sn) be smaller than (1 - E), for some n.
Basically, the point here is that Sn can get as close as you like to 1. The
limit of Sn is 1. But .99999... just is the limit of Sn (by definition).