Good point Clo. There are many ways to economize on the cruise.
1) Don't buy the photos, take your own or video tape your cruise (my preference)
2) Sightsee in the ports on your own. Stay away from the expensive shore excursions.
3) Stay away from the casino (impossible for me, but.......)
4) Make sure you bring all your own sundries, suntan lotion, headache tablets, lip balm, etc. They are expensive in the shops.
5) Bring along your own spare batteries for CD players, cameras, etc. and all the film you think you might need.
6) If you're lunching in the port, at the beach, grab sandwiches from the buffet on the ship and bring them along with you. Why buy the local restaurant lunch when you've already paid for it on the ship?