It always used to be said that "You can get a boat on a ship but you can't get a ship on a boat" on the basis that boats were invariably smaller and that ships actually carried boats such as �lifeboats' as part of their equipment. However, that is no longer true. A couple of years ago a Royal Navy vessel - definitely a 'ship' - ran aground off Australia and it was carried back to the UK on a civilian salvage vessel which would certainly qualify as a 'boat'. So, we've now seen "a ship on a boat".
All Royal Navy and foreign military vessels are called 'ships'...except for submarines, which are always as Ianess says above - in Britain at least - called 'boats'! The same applies to British shipping lines. Ex-employees of Castle Lines invariably speak of their time on "the Castle boats" and - with obviously appropriate changes, so do those from Cunard, P & O etc. Another aspect which makes it clear that �size' alone is not a major factor.
In modern usage, there is no real difference in the meanings of the words, when speaking of large vessels. Of course, the little thing you row on the lake in the park will always be a boat and the grey naval cruiser will always be a ship.