The only port I've been to is Cozumel, and it is fine the last time I went there (October of 2010). That of the ports that I have visited is a great port to do a beach day, and there are several to choose from. On my most recent trip, I went to Paradise Beach. Cabs should be lined up and waiting once you get off the ship and through the cruise terminal. I think it was about a $12-14 cab ride total for me just by myself. There's no entry fee for Paradise Beach, as the impression is you'll spend money while you're there. If I remember correctly, for $12, you can get unlimited use of their water park, beach mats, and snorkel equipment. Lounge chair use is $2. They have a restaurant and bar there on site, so you can order lunch there if you please.
As far as shopping or sightseeing, I haven't been to the other islands besides Cozumel, so I can't offer much help there.
2007 - Majesty of the Seas (Bahamas)
2009 - Enchantment of the Seas (Western Caribbean)
2010 - Freedom of the Seas (Western Caribbean)
2013 - Golden Princess (Alaska, roundtrip from Seattle)