There is one thing I'm completely sure about. Code quality is an order of magnitude worse. I'm not really sure why, but that's how it is. With a few exceptions, the norm is to get a shit show every time something is outsourced to a team in India or China.
The reason is simple. They don't 'care'. They don't get rewarded for writing great code. They are not responsible for maintaining it. They don't get to see it work in the wild. Most probably, they don't even understand the problems that the project is trying to solve. It is simply very hard to 'care' under the circumstances outlined above. And it is very hard to write quality code when they don't care.
No, it's that an outsourcing company makes money on billable hours. If you can bill the client for fixing bugs, then why would you care about introducing them in the first place?