Our original ports of call were changed from Nassau/Bahamas, St.Thomas/US Virgin Islands, and St.Kitts&Nevis to Bahamas, St. Thomas, and Puerto Rico with no explanation given a week or so before departure. Then, two days before departure our ports were cancelled entirely and changed to Cozumel/Mexico, Falmouth/Jamaica, and Labadee/Haiti due to Hurricane Irma, which I realize is done in the name of safety and mother nature is outside the control of Royal Caribbean. However, Royal Caribbean seemed to have trouble adhering to even this as we ended up missing the Haiti port entirely, went to Costa Maya instead (which is basically a boring over priced Mexican shopping mall), went back to Cozumel a second time for some ungodly reason, and then got stuck out at sea for an additional 3 days.
On top of not going to the dream destinations we wanted, our group occurred more than $1200 in additional cost due to late rental car fees, changes in flights home, missed work, and laundry cost (we ran out of clothes due to extra time at sea and were charged $35+ per load and each load couldn't be larger than what would fit in this tiny waste basket sized bag they give you). The only compensation offered was 30 mins of free internet that was sketchy at best and cut out after 10mins, and half off of some of the drink and internet packages, but only for the 3 extra days we were stuck at sea.
While Cozumel was a decent port of call if you get outside the port and hire a cab to get around the island and see the sights; every other location was disappointing. Jamaica was fairly shady and anything of note or towns that didn't feel dangerous are more than an hours drive from the port at Falmouth. As mentioned before, Costa Maya is the most overpriced touristy shopping mall you can visit; nothing but swimming pools, cliche "margaritaville-esque" restaurants, $16 watered down drinks, and shop vendors harassing you to buy cuban cigars or vaguely trying to hint that they sell drugs. As for beaches, every port with the exception of the far side of Cozumel (which is gorgeous if you drive over there) was razor sharp rocky beaches with garbage strewn about.
Fort Lauderdale is, well... Fort Lauderdale. It's unremarkable and unbearably hot. Go to Miami where there is plenty to do near South Beach and be sure to go to Versailles in Little Havana for the best Cuban food you will ever eat.
The port itself is very touristy, but get around the island by cab for some awesome flea markets, beaches on the far side of the island, Mayan ruins, cheap beer, and tequila tastings. Part of Cozumel are poor but didn't come across as dangerous as long as you were aware of your surroundings.