I agree that US dollars or a credit card will work in all ports. They get thousands of cruise ship passengers a year, and have to be able to handle dollars.
If you miss the ship when not on a ship sanctioned shore excursion, don't bother trying to call the ship. They won't wait for you in any case. They can't. It will be your responsibility to get yourselves to the ship's next port of call, at your expense, and re-board the ship there. There's no compensation for days you were not on the ship, in that case.
Have a wonderful time!