It really depends on your personal style. Some people spend almost nothing on a cruise, and some party like it's 1999. Most things on the ship you can put on a credit card, including shore excursions if you buy it thru the cruise line. What you really need cash for is....souvenirs while you're in port. You know, $10 t-shirts and such. You'll also need cash for taxis. I really can't think of anything else you would need cash for, unless you just prefer to use cash.
Credit cards are accepted in Mexico if you are dealing with a retail store. So it's mostly small purchases and street vendors for whom you'll need cash. I think $400-500 would be far more than adequate for your needs. I certainly would not spend that much.
Good luck and enjoy your cruise.