Although outsourcing takes jobs away from the United States (or whichever country the company is based), it creates more jobs in a different area. These additional jobs help develop the country's working class and economy.
Outsourcing is done to save money for the company. They will look for the best value on quality labor. If that labor was available in the company's home country, there would be no need to outsource. The company is simply doing what is necessary to make a profit.