I always wonder on some of these complaints, whether it really is about food, excursions, drinks, tipping etc. Could it possibly be due to the fact that when people book a cruise, they see a price of "7 days for $499". When they total up the bill at the end of the week it easily could be 4 times this amount, thus the bitterness sets in about not meeting their expectations.
I personally agree that a cruise is the best vacation per dollar you can spend. Again to reiterate GC's comment "reasonable expectations".