In the base-10 (decimal) system, each successive placeholder is 1/10th the value of the previous placeholder. Starting with the first place on the left side of the decimal point, you input its value. If you have 10, then the previous placeholder gets a "1".
9 falls short of 10
99 falls short of 100
999 falls short of 1000
9999 falls short of 10,000
In each of these cases, had the number been 1 larger, the placeholders would not have been filled with 9's... they'd have an extra placeholder added on the left, which would be filled with a 1, with the remaining digits becoming zeros.
Likewise,
0.9 falls short of 1.0
0.99 falls short of 1.00
0.999 falls short of 1.000
0.9999 falls short of 1.0000
In each of these cases, as you increase the amount of decimal places, the amount that it falls short by decreases by 1/10th. But the fact remains that it must have fallen short... otherwise you wouldn't be putting a "9" in the successive placeholder, you'd be putting a "1" in the previous placeholder.
The fact that you have repeating 9's tells you that you've fallen short. Since the number of 9's is infinite, you have missed by an infinitely small margin, but nevertheless, you have missed.