I know it's not what you asked, but have you considered an all inclusive resort? You still get all of the food and/or booze you want in a gorgeous setting without a lot of the drawbacks of a cruise.