Th classes of American Naval ships have different types of names—for instance the battleships are named after states. One of the names will be the name of the class—e.g. Iowa-class battleships. Smaller ships are named after smaller entities—cruisers were named after cities, but with the end of battleships, cruisers began to be named after states. Destroyers, still smaller ships, are named after American heroes.
Aircraft carriers [the largest ships afloat now] are named after presidents, implying named after the whole country, while reserving plenty of names.
And I am sure that Congressional politics play a part in which name is the class name, and which ships are named in that class.
Some other ship types are detailed here
This is the fundamental reference for American naval fighting ships
Smaller ships, like inshore fire support ships, are named after rivers, such as USS White River [LSMR-536 Inshore Fire Support Ship].
Sailors have their own nicknames for ships—White River was “White Rat”. A funny story from a Navy friend:
Sometimes ships have to tie up alongside one another if there are not enough berths at the pier. When the captain of the outermost ship wishes to cross over the other ships he must be announced by the ship name [as if he were the ship and the whole ship’s complement]. The captain of the outermost ship, White River, had to cross over my friend’s ship. Somehow the call was announced as “White Rat, crossing”
.