Short answer: Depends
Americans leaving out of a US port and ending in the same port do NOT need a passport, even though it is recommended*. A birth certificate and photo ID can be used. A passport card can be used for these cruises. Passport cards can also be used on domestic flights.
If you are leaving out of a US port and ending in a NON-US port, you will need a passport.
Leaving out of a NON-US port, you will need a passport to enter the country and therefore for the cruise. Make sure to check if you need travel visas before you travel.
* Passport is highly recommended in case you get stranded in another country.
While no one plans to miss the ship, you might. Or there may be a medical emergency that causes you to stay behind. Passports are needed in these circumstances to leave the country.
If this happens to you, please contact the US embassy right away.
Cuba, the exception
As an American, you will need a passport to go on a Cuban cruise. You will also need to pay for a VISA – the cruise line can get it for you and it is $75. It will be charged to your on board account.
Cuban Americans will need a Cuban passport to enter.