On a Caribbean cruise you will not need your passport. You should take your State issued ID (i.e. Drivers License) with you, a copy of your passport, and the "Ship's Agent" contact number. The Ship's Agents information will be in your daily newsletter/schedule.
There are ports such as: Russia, Dubrovnik and other non-Caribbean ports that you may need to take your passport with you but the ship will inform you if this is required.
If you are a U.S. citizen you will not need a passport in Puerto Rico. It's a U.S. Territory. Just show your State Driver's license and you will be fine.
I am strongly guessing that the person who had to show a passport in San Juan (I am assuming San Juan, Puerto Rico) was not a U.S. citizen or did not have a State Issued id.
Take care and have a great cruise.