From my own experience, which even included managing a small outsourced team in India, I concluded that whilst they do have as many good devs in that country as elsewhere, their own pay scale structure pushes the good ones into management (were they usually suck) to be able to get a raise, and due to the extra demand due to the outsourcing industry for developers over there, which is well above and beyond what most countries have, the normal proportion of naturally good devs is drowned in a sea of mediocre types who have no actual skill and would never had gone into IT otherwise. Also the best guys (and a few gals) usually leave to go earn a lot more in places like the US and UK.
In my own experience with this, we (a small very senior team based in London) were forced by management to use the work of the guys in India because the company had spent lots of money setting up a division there for it, and in practice we ended up spending just as much time fixing their code as we would have spent doing it right ourselves in the first place, so at least in my team the company was just wasting money.
Funnilly enough the few guys we had based in London that came from the Indian Subcontinent (so not just India but also Pakistan, Banglasdesh and even Sri Lanka) were significantly better than the guys from that outsourcing division in India.