It is easy to outsource.
It is easy these days to find a company or a consultancy who will come and do what you want them to do, but for a price. But when for larger projects it makes sense to get a dedicated, temporary pool of people to work on it, does it make sense to insource the work.
Insourcing, is much more difficult.
However, insourcing is a surefire way to build more engagement.
May be your best Software Programmer works in your finance department. May be your best UX Designer works in engineering. People take up jobs for many reasons, and develop different skills although their life. Their jobs, however may not really reflect that.
So the next time you are tempted to use pay money to external companies to come and build whatever you want them to build for you, ask around if you can get someone in your company to do that for you.
And if they do a fast and good job of it, reward and recognize them with a fraction of the money that you may have spent on an external solution.