Why do companies outsource? Because, outsourcing provides leverage.
What does that mean? It allows you to do things you could not do yourself, and it allows you to do them faster, better and at a lower cost.
Like all leverage, business process outsourcing is a double-edged sword too. On one hand, it allows you to do more, faster. On the other hand, if it goes bad, it can easily kill your business. If you do not believe that is possible – you can look into the Fox Meyer saga from the 90s and see for yourself.