IDG Answers is a community of experts who are passionate about technology. Ask a question or answer one below.
As you noted, if you are seeking the greatest cost savings, you outsource to India or the Philippines, without a penalty in expertise. I suppose if you are one of those few companies that have multiple delivery centers, you could outsource to more than one country to reduce risk through diversification, but I can't imagine many companies making a decision based on that.
I think a large part of it is companies that have operations in China, or very close in places like South Korea and Hong Kong do it to support those markets. Sure the Chinese have comparably poor English skills, but they have skills in another language that is pretty important for international businesses in Asia - Chinese. There are also many Japanese and Korean speakers in China (or pretty close nearby). Also, the Chinese government has made a greater commitment to infrastructure than the US, and ensure that outsourcing locations have access to high-speed broadband networks. The Chinese are spending resources to create a high quality operating environment, which I am afraid will make them more competitive in the medium and long term, while in the US any attempts to improve infrastructure causes outrage and cries about infrastructure investment being socialism and a danger to democracy. I personally think we are being extraordinary stupid and shortsighted in this area, and it is going to make it easier to justify outsourcing in the future.