What you are not getting is that while outsourcing does mean cheap labour for Europe and US, it is not necessarily cheap for India(you mentioned keeping in-house). What you think is cheap are standard wages in India. It is cost cutting for US companies but not for Indian companies.