People are especially wasteful when the food is 'free' and plentiful. If you watch waiters that are removing plates during a typical cruise ship meal many/most contain uneaten portions.
Which is why some all-you-can-eat restaurants have started charging for uneaten food that's ordered but left on the plate i.e. sushi places especially.
You simply can't optimize beyond a certain level because you need room to absorb changes in customer demand. You can't not serve soup on Thursday because the customers ate all your beef Wednesday and you have no stock.
Lunch and on some lines for dinner perhaps, but the line I've often travelled on you have the executive chef walking round at dinner and inspecting the returned plates to assess the quantities remaining (and whether any dishes perform better than others).
It's the buffet that has the potential for greater waste, but you often see them rotate leftovers for a couple of days.
They're certainly not great, but I've seen greater per-person waste in hotel breakfasts (or basically any free buffet scenario as you say).
Fresh fruits and vegetables have a high water weight, while being relatively calorically-sparse.
The total seems high to me, but it'd be interesting to see the breakdown.
Nine pounds of food and drink, including packaging, pallets, skins, peels and bones. Doesn't sound all that far-fetched.