The actual number formed by repeating 9's an infinite number of times is not constructable. Whereas 1 is constructable. So they cannot be the same thing. That's because, philosophically, two objects must be identical in every property to be the same object, and constructability is a property.
As we add 9's, we are getting ever closer to 1, and the concept of a limit lets us "fast forward" to that value. If we agree that this "..." denotes the limit, rather than the non-constructable number implied by the notation's "face value", then the equality holds.
To actually regard 0.999... = 1 to hold without involving the limit shows an ignorance of (or denial of) the validity of induction. Because, look:
Base case: 0.9 is not equal to 1.
Inductive hypothesis: Adding another digit to a decimal fraction which is not equal to 1 produces a new decimal fraction which is also not equal to 1.
Therefore, by induction, no matter how many 9's we add, we do not get 1.
Induction is not somehow canceled by infinity; induction is how we understand that a property holds for infinity: a property such as "not equal to 1".