Outsourcing would be where you hire/assign work that would do normally/are able to do, to another company- Ex: Numerous businesses based over here used to manufacture their products here in the U.S., but over the last 3 decades or so, they have shifted there manufacturing process overseas to take advantage of lower labor costs in other countries.
Might depend on the situation. Say you are dealing with the situation of whether or not you need to provide insurance for a subcontractor there may be a different definition by the insurance industry then for the general business world. This is similar question to what is an employee vs. what is a subcontractor.
I would say outsourcing is most often used to describe cases where products are being supplied in whole or in part by an outside entity while contracting is labor supplied by an outside entity.
However these days, there is not as clear a line in the sand as there once was.
It is said that we have control over things being contracted such as penal clause for non performance but in outsourcing no such control. To what extent is it true?