what has worked for me in the past:
1) eat a healthy breakfast most mornings: i allowed myself a couple of days to fill up on the greasy-spoon, brunch style type foods but most days stuck with poached/boiled eggs, multi-grain/whole wheat toasts, yogurt, fruit, oatmeal and the likes. the way i saw it, why waste calories from breakfast when i could indulge more when it counts - at dinner.
2) skipped desserts more than half of the time: i opted for no dessert or fresh fruit.
3) fish is always a healthy alternative: most nights, i chose their fish dish. but of course, indulged on a couple of nights. on nights i had fish, i didn't feel too guilty ordering both apps and salad/soup. rarely, though, would i order apps, soup AND salad. it was just 1 or 2 of those three courses.
5) exercise: i used the gym most mornings and some afternoons; also did a lot of walking especially after a meal. didn't go hard as i would when i'm at home as i it is a vacation - but it didn't hurt to do 45 min. lite cardio and 45 min. strength on alternating days. made sure to not work out 1 or 2 days, though, as to not over-do it.
6) shared on things i wanted to try but couldn't have too much of: princess has amazing pasta made fresh in the dining room every night; it was not a large serving so depending on our table size we would order 1 or 2 and share. everyone got a palm-size or less amount just to try out.
7) limit myself from buffets: at lunch, i would sometimes go to the main dining room to help moderate the quantity of what i ate. but of course, i indulged at the buffet on certain days.
that being said, my guilty pleasure is that grill station on princess - it's so easy to go there for a mid-afternoon burger and fries!
if i gain 5 lbs by the end of the week, i'm okay with that, though. i live a healthy life style and love p90x and yoga. 5lbs is not hard to lose. especially as i read somewhere that the average cruiser gains 2lbs a day while on a cruise.