The Answer
There isn’t a firm definition, though generally a vessel is considered a ship if it is larger than 500 tonnes (~550 tons).
I think most of us feel like we instinctively know whether a vessel is a boat or a ship. A rowboat would never be described as a rowship, and you likely wouldn’t book a trip on a cruise boat. But other craft like commercial fishing vessels, or large yachts might be a little harder to classify.
It’s fair to say that the primary difference between the two is the relative size.
The most important aspect that is considered while stating the difference between a ship and a boat is the size. It is said that the best way to differentiate between a ship and a boat is to remember that “A ship can carry a boat, but a boat cannot carry a ship.”
Technically speaking, a mode of water transport that weighs at least 500 tonnes [~550 tons] or above is categorised as a ship. In comparison, boats are stipulated to be quite compact in their structural size and displacement.
The statement “A ship can carry a boat, but a boat cannot carry a ship.” is one that seems to be widely cited, but clearly imperfect and vague. You can carry a dinghy on a small yacht, but that doesn’t mean that the yacht is necessarily a ship (particularly if it’s less than 500 tonnes).
The reference cited above provides 6 other criteria for determining whether a craft is a ship or a boat. This is summarized below.
Ships tend to operate in “oceans and high seas” while boats typically operable in smaller or restricted water areas.
I think people that operate small boats along an ocean’s coast would be a clear exception (perhaps exceptions that prove the rule). A sea kayak is pretty unlikely to be called a ship.
Ships tend to have complicated navigation and operational systems while boats typically do not.
“A ship requires a captain” while boats tend not to.
What about a skipper? (or a professor?)
Ships are specifically made to carry cargo, passengers or boats, which boats tend to be used for recreation, fishing or ferrying people.
I know there are ships that carry boats, but this has to be a pretty small minority, no?
A boat is simple in construction, while ships have complex machines and “design complexities”.
A ship has “dedicated engines to propel them”, while boats tend to be powered by sails, motor or human force.
What is a motor, but a “dedicated engine to propel [the boat]”?
Conclusion
I think it’s fair to say that the definitions of boats and ships are somewhat fluid and imprecise. If it seems big, call it a ship. If it’s not as big, call it a boat. If you’re not sure, call it a vessel or a craft. Can’t go wrong with either of those.