It makes sense to me that as these countries rise and their citizens gain wealth, the pie will actual grow larger so that we can all eat more of it.
I doubt the average American will benefit from outsourcing and the new demand by the burgeoning middle class in China and India. The only ones that will become rich are the top tier execs of the American corporations and the investors. That is the true reason they are there, they want to establish the brands and reap in the profits.
However, the future is hard to predict. India has extremely poor infrastructure. I’ve been to Bangalore many times and know this first hand. It takes 2 hrs to go 10 miles and there are power cuts of 3-4hrs each day which require expensive alternative power sources. Just few weeks ago there were riots in Bangalore and our India SW development team could not work for 2 days causing downtime!! We also sometimes have issues that require immediate resolution when staff in India is sleeping, it has to be done here in the US to avoid business losses.
Another issue is severe wage inflation of 13-15% a year and heavy workforce attrition. When an employee leaves they take the business domain knowledge they have gained with them and someone else has to start from scratch, this is not good for a company.
While it is easy to offshore entry level software development functions, complex Business Analysis and architecture is not that easy to develop abroad. We live in a very dynamic environment where the business rules change fast, for many companies time to market has to be low for survival. Many companies are realizing this and therefore choosing to keep those functions in the US itself.