I'll be visiting Jamaica, Puntarenas, Cartagena, Mexico. They have different currencies. Is it worth it getting U.S. traveler's checks (cruise ship site said some ports take TC) or just use U.S. cash and/or credit card or do I need to get the local currency?
Never been to Cartagena but all the other places take U.S. money. I haven't used traveler's checks in years although many still do. I just use cash and take a credit card ashore. I also inform the credit card issuer before I leave home and give them an itinerary, so they know to expect charges from wherever on X day.
I don't know any place that doesn't love American Money. Credit card will give you a better exchange. But be advised your credit card company probably also will charge fees for exchange transactions. Only use the credit card in bigger stores like Diamonds International, Columbian Emeralds, etc. I wouldn't trust using them in a small store.
I have never been charged for using the CC by my bank on any trip I have taken. Using the CC in any destination insures that you receive the accurate exchange rate for the day it is processed and you also have some recourse on your transactions. Good ole greenbacks are the best but know the exchange ahead of time or you will pay the price...Make sure you use it at only the reputable places.
A lot of credit cards are charging foreign transaction fees now. I read where Capital One doesn't. But I don't have a Capital One so I don't know. Each individual should call their credit card company before they leave to let them know they will be traveling, and they can ask about foreign transaction fees then.
I have never seen a ship post exchange rates for a Caribbean/Mexico cruise. Most likely because most people just use American money for Caribbean/Mexico, and the ship doesn't carry any exchange. However: I did see exchange rates posted on my Baltic cruise. The ship carried money to exchange for the Baltic ports.