It’s probably a norovirus, resulting from poor sanitation. People are in a closed environment, and all it takes is one sloppy person (didn’t wash his hands after taking a shit, for example) or contamination of the fresh water, and in fairly short order, many people get ill.
Here’s some statistics from the CDC about norovirus outbreaks on cruise ships.
cdc.gov
And a wiki on norovirus. en.wikipedia.org
Washing your hands or using hand sanitizer helps, but you have to trust that the food and water are not contaminated, too.