Both terms are sometimes wrongly used interchangeably. Yes, they are both watercraft, but the difference lies in size, passenger capacity, where they operate, etc.
The difference between them grew as these watercrafts evolved in history consistent with the increasing transportation and travelling needs. Simple boat usage can be traced, according to recent findings, as far as 40.000 years ago in Australia, though the oldest boats found are from 9.000 years ago. The Egyptians, the English and the Spanish were three of the civilizations that most contributed to the life and evolution of boats and ships. The Royal Navy was paramount in the ban of slaves trading and the maping of the world.
A boat is a watercraft that floats and its main goal is to provide passage across, usually in inland water though sometimes they can run in protected coastal areas. A technical aspect of the difference is that a boat is small enough to fit and be carried in another ship.
A ship can be defined as a large vessel that floats on different bodies of water: lakes, seas and rivers. Traditionally they were considered vessels if they had a tight deck extending from bow to stern.
They can be used for a variety of activities: transportation of people or goods, public safety, entertainment, fishing, and often used in wars.
A way of categorize boats is related to the way that they run:
UNPOWERED: such as rafts and floats that are meant to go one-way.
HUMAN POWERED: such as canoes, kayaks, pole-propelled boats, gondolas.
SAILING BOATS: they are propelled by their sails.
MOTORBOATS: they are propelled by mechanical means or engines, either inside the boat, outside the boat, etc.
Ships can be categorized from a different number of criteria:
THE USAGE: such as commercial vessels, naval vessels, fishing Vessels, inland / coastal pleasure.
THE NUMBER OF HULLS: such as monohull, catamaran, timaran.
THE SHAPE AND SIZE: such as dinghy, keelboat, Icebreaker.