* Working at a small firm is very low prestige, unlike here. You want to have a big name you can tell to your prospective father-in-law. There are of course big, reputable outsourcing firms there, but they tend to either be hiring mills with low quality, or expensive enough to negate any labor arbitrage advantages.
* The very best and the brightest (and there are MANY MANY of those) tend to go in-house at Google, etc. rather than do the outsourcing-for-hire shops. Or, frankly, they've moved here.
* As with any consulting, their interests and yours are not always in alignment.
* In western nations, there are many routes to success and prestige. Business, professions, even the arts. In India, for the time being, there is generally only one that matters, if you're not already upper class: technology. So that means everyone tries to do it whether they're well-suited or not. So there is a HUGE pool of labor, throngs of people show up in person for certain job openings, but a large percentage of them literally cannot do fizzbuzz, yet lots of those will get some kind of job or other.
* It is often really difficult to get a "no" or any kind of bad news in time to compensate for it.
I'm just scratching the surface. It's a huge, complicated, amazing country, and the potential remains enormous, but there are a TON of very real cultural problems facing a western firm looking to partner with an Indian firm.
EDIT: This was the in the context of a smallish startup. A bigger firm looking to make a permanent presence will have more resources and more leverage to compensate for some of this, and will also, if they have an international brand, attract much more capable people.