The set of requirements TDD encourages code to meet happen to be ones that increase code quality.
Code that is easy to test tends to be well-structured.
Code that is badly structured tends to be hard to test.
TDD is not a QA methodology, it is a design methodology. It also tends to help quality out a lot, but that's a secondary effect.