Why should we outsource when we ourselves can recruit professionals to do it internally?

You will need to hire a whole team to perform the projects with variable demands. The skill sets as well as the size of such team can differ according to the requirements of the projects. Hence you finish up expanding your resources and operating cost. Similarly, for the projects with overall diverse requirements than your core competencies, the risks of irregular delays, regular change demands from the customer and insufficient control on the implementation are higher, adding more to your working costs.