In general, when travelling, you have to check each country you would be visiting and determine what their requirements are for visitors from the country from which your passport is issued. The requirements you need to check are for both how long your passport must be valid as well as whether you need a visa. The country with the longest expiry requirement would dictate your passport expiry date requirement for the cruise and you would need to procure a visa for every location that requires one. However, as others have pointed out, if it's a closed loop Caribbean cruise from a US port and you're a US citizen with a US passport, you don't need to worry about it.