Simplistically, a ship can carry a boat, but a boat cannot carry a ship. But you could debate this for a long time.
There's no right answer because there are always exceptions. The ship carrying a boat thing works a bit but not for a fishing boat, for example. A ship is generally an ocean going vessel but then that doesn't work for submarines which are always boats. Or over 500GT, always exceptions to that too! A sailing ship is one that has 3 or more masts with yards crossing them - but i don't suppose that helps much.
A yacht is a vessel used for the pleasure of it owner.