The answer to this lies in the way you interpret the question, so the answer is both "yes" and "no". Unfortunately this is just another area that has sparked a lot of debate in online forums due to each side arguing two entirely different things.
On one hand you have the crowd crying out that 0.999... (recurring) does not equal 1. This side will argue that there is no way 0.999... can ever equal 1 simply because logically the sequence can never get there. They believe that there must be something flawed in the thinking of proponents of 0.999… equals 1.
On the other hand you have the 0.999... does equal 1 camp. They will argue that classical mathematics theory states that 0.999... equals 1, it can be used in place of 1 in equations and they will offer up a number of proofs that it equals 1. To their mind, the proponents of 0.999… does not equal 1 are misguided and haven’t been educated in the real number system.
Which is correct?
Both stances are correct in the context of what they are attempting to say.
The system we use in today’s society is the real number system, and within the real number system 0.999... equals 1. It can be used in place of 1. The number of decimal places becomes less significant the further to the right of the decimal point that you go, so an infinitely repeating decimal becomes infinitely insignificant. What's another way to say infinitely insignificant? Irrelevant. Proponents of 0.999... equals 1 will also offer up several proofs in support.
On the other hand, the proofs offered up by supporters of the position are derived using the real number system. Opponents of 0.999... equals 1 could rightly say that the real number system is limited in it's handling of infinite numbers, so a limited system using imperfect proofs will naturally yield a biased result. An imperfect system is being used to support an imperfect result derived suing the same imperfect system.
3 x 1/3 Equals 1 so 3 x 0.333... Equals 1
A popular "proof" used in forums is the notion that 1/3 is 0.333... and 1/3 x 3 equals 1, so 0.333... x 3 must equal 1. But 0.333... x 3 also equals 0.999..., so 0.999... must equal 1. Sounds logical enough, but is it really? 0.333... only equals 1/3 because the real numbering system, with it’s imperfect handling of infinites, defines it that way. We could just as easily say that like 0.999… will never reach 1, 0.333... will never reach 1/3.
Dr. Math's math forum gives more proofs, but once again the proofs are derived using the numbering system that sparked the argument in the first place. The real number system is derived for use in real world applications. In any practical application this limitation in handling of infinites has zero consequences, so 0.333... can be used for 1/3 just as 0.999... can be used for 1.
Once people become indoctrinated with the real number system, 0.9 recurring = 1 becomes the only possibility, and "opponents simply don't understand mathematics". In any practical application 0.9 recurring and 1 can be interchanged. So the real number system uses the notion that any convergent series taken to infinity should be taken to eventually reach the number it converges towards. But then you could also argue that 0.9999 (to one hundred places) is adequate for all practical purposes, so why not say that this also equals 1? If we were to limit our number system to 100 decimal places it would.
The Real Answer
Let’s first ask the right questions.
In all practical purposes and within the limits of the real numbering system, can 0.9 recurring and 1 be interchanged? Yes.
If you take 0.999 and keep adding a 9 in every subsequent decimal position, will this number ever reach 1? No. Throw away the confines of the real numbering system and try to envisage that string of 9's floating off forever and you can safely say that 0.999... never reaches 1.
These are the premises that each side of the argument see in their own minds as they jump online to berate the opposing side, yet how often do you ever see either side define their premise before the debate begins?