I think it's up to firm whether to outsource or not because outsourcing has its advantages. They will never going to change. Who can accommodate the outsourcing they will approach surely. Best benefit is cost reduction. So, small business prefer this more.
Well, outsourcing is quite profitable for IT companies. No doubts, lots of advantages of outsoursed development team: from reasonable price to well-established processes of outsoursing company. I've had recently experience cooperating with IT guys from itmaster-soft developing a healthcare software for Israel company. It was really beneficial for both of sides
Companies continue to outsource processes. If it is possible to find a company with solid expertise to handle the work that in house team cannot handle, why not get advantage of it?
However, the competition among outsourcing providers is fierce today, and the development cost is not the only factor that matters. What is important is the ability of a provider to dive deep into a Client's business and to find the most optimal solution that will match a Client's business goals to the fullest.