Well,
A few years ago I worked on a major project where the development work was sub-contracted to an Indian development outfit.
I said at the outset that it would be a disaster, and it was!
The first thing that concerned me was the communications window which is about 1 hour between the UK and India.
There is a definite language barrier. Sure you can teach people fluent English, but it is not technical and commercial English.
There is a very high staff turnover rate, as they mostly employ young graduates. For example this project involved around 60 of their staff, after 3 years there were only 2 of the original team left!!!
They have no-one to resolve issues on a day to day basis unless you spend a fortune on sending staff out there, and you cannot afford to lose senior people for prolonged periods. Anyway, my expenses over there would pay for a similar skilled programmer in the UK
They have no idea of foreign business requirements so the specs have to be so detailed, all you have done is move the costs somewhere else in the project budget.
I am sure that there will be those who will experiment with it and learn the hard way
Just my personal experience.......................