Just some definitions to avoid confusions with these two often (wrongly) interchanged words.
Outsourcing is the activity in which a company gets any of its business activities done from another company. It could be a small law firm getting color presentations printed at FedEx Kinkos or a large Fortune 500 using an Indian or US company to get its IT or Business processes executed.
Offshoring is the specific instance where you send the activity outside of your shores (country's boundaries). These could be any activity (not necessarily limited to IT or BPO), ergo - Offshore oil drilling, Offshore tax havens or Offshore sailing.
Offshore Outsourcing is the most commonly used terminology for when companies in the US and Europe send work outside their shores, with a special focus on IT Services and BPO. This terminology has also been used more frequently with respect to sending work to India.