If the project is outside your core business offering, it typically makes sense to outsource to a consulting firm as this can reduce the cost of development and implementation and will speed up execution time and likelihood of success, or
If your challenges are within your core competency but you need specialized knowledge and experience that are not available in-house, clients will typically benefit from the added insights and focus on issues with the added cost advantages of not having to hire staff for what might be a short-term initiative.