First, Outsourcing means shifting particular business operations, while Offshoring means that activities and offices are being relocated to another country.
The most important difference is that the main objective for Offshoring is to minimize the costs. Benefits of Outsourcing, besides to lower the costs, are to give the company an opportunity to focus on the core activities.
So, Outsourcing provides the flexibility without having to worry about hiring and firing during the period of a project.
Outsourcing to a third-party company, which is already well-established and has the relevant experience in providing services, is a much more convenient option.