All software projects require detailed planning and specific expertise. Most enterprises are wasting their resources on searching for a local, dedicated development team with all the necessary skills. They think they will have more control with the local team and there will be no communication issues.
However, the bigger your company gets, the more problems you have. Your account needs to handle more fees, taxes and paychecks. You'll need extra project managers to lead and train the team in line with current industry standards. If you know that you need resources for a certain period, an extra in-house team can drain your time for recruiting, hiring, and training, not to mention their salaries.
The scalability of the outsourced offshore teams, on the other hand, is much easier and more customizable.