The only time I gained weight on a cruise was the 11 day Hawaii on NCL with "Anytime" dining - dinner tended to be late (for me) everynight...When bedtime is usually 9:00 - 9:30; eating that late is trouble. To avoid weight gain, avoid the buffet for breakfast and/or lunch. Not that you can't over-order food in the dining room, but you most likely won't. The buffet dining experience lends itself to the "grazing" phenomenon - - a little bit here, a little bit there, and OOOH - doesn't that pizza look good? A little piece won't hurt..... Our last cruise in October - no weight gain (didn't lose either, but that's OK)...