This is almost entirely avoidable from a cruise passenger's point of view. Wash your hands. Make use of the sanitizer provided around the buffets, on re-boarding the ship when returning from the day's activities in port.
Think of where your hands have been. Touching railings, putting a package down on the ground and picking it up.
On the buffets there are tongs and spoons provided but remember that not everyone who handled the untensils washed their hands so a quick use of the sanitizer before you eat is not out of line!
Why are cruise ships notorious for this? Simply that there is a large concentration of people in a small area! Per capita, cruise ships are no more suceptible than other concentrations of people.