My friends went to both places, I heard that foods on cruise are much better. For evening, you pick a restaurant for dinner (not buffet), and order whatever you like in menu. There are some high class restaurants on curise.
Another advantage for cruise is that you have opportunities to visit various cities and islands, not stay in the same bleach. And weather is warm enough for swimming.