Taking a cruise is far cheaper overall than flying into the islands and booking a hotel stay. Not only do you get the already paid for food from the cruise ship, but you also get to see all the islands. If you do not mind spending longer at sea than on land, maybe a cruise is a better option.