@indianafrank.
Damn! What cruise line did they go on?
I've been on Royal Caribbean, and they are excellent! Everything on the ship is spotless.
I've also been to a couple different places in Mexico, including Cozumel, and haven't gotten sick.
That said, you should drink bottled water, soda, or alcohol while there, and never any local drinks or tap water.
Really, the same should be said for just about anywhere in the tropics. I've been to Haiti, the Grand Cayman Islands, Jamaica, and Mexico a couple times. These places are gorgeous, but their water treatment methods are way different than here in the States, if they even have water treatment in some of those countries.
Now, my sister in law had to live in Mexico for a few months while training for her job. She did get very sick once, when she ate a Popsicle made with local water.
Just stay away from any local liquid, and you should be fine!