1. Both are NOT development environments
2. QA env. is general (testing, for example, on several OSs), UAT is specific to the User (customer).
3. From my experience, internal QA environments are cleaner than customers UAT environments, but that may not be the case for other companies.
My perception is that UAT is part of the QA process. QA is not just testing, but Validation, Verification, and Process control insuring a quality process throughout the SDLC from project inception through delivery of the finished product and on into the product support phase.
Success is the ability to go from one failure to another with no loss of enthusiasm.
~ Winston Churchill ~