There's an apples/oranges thing here because the question is in the context of cruise ship stops, rather than a longer stay. Clearly, a 7-hour (or whatever) stop is not the best way to get to know an island and its people. When you're on an island for a week, especially staying at a smaller lodging, you can check out all the places that cruisers don't have the time for, reasonable access to, or the information to seek out. Shopping in the dock area and/or going on a canned excursion may be fun, but they aren't a fair way of assessing the whole island.
As Papa Bill notes, a place like Jamaica may be unpleasant for a cruise ship stop, but wonderful if you get away from the craziness of the port area and Dunn's River. (Never been there myself, but have spoken to family members and other folks who stayed for a week and loved it.)