Find a good ship and a good group of friends (or family) to go with. Most of the stops are pointless and a waste of time, so most of your fun is on the boat. A lot of the time you're at the port for weird hours 10am-4pm, where there's really nothing going on besides people trying to sell you stuff. You don't get to go to local restaurants and (good) bars during those hours, which is most of the fun stopping at Caribbean islands. I've had a lot of fun on the ships, and most of the shows are entertaining enough that kept me from leaving, and generally the comedy shows were good.
You need to remember you're on a "mass tourist" trip, so the quality of almost everything is going to drop, but usually still pretty good, where as if you did it yourself and went to local spots on islands, traveling by your own plans.
It can be a good trip, or a terrible trip depending on what you make of it.
An all inclusive resort is good too, but generally I don't like being tied down to one place for too long.