Everybody uses the same touch points, all day long. Most get their food from the same buffet line, touch the same food, the same drink dispensers, sit down at the same tables (which aren't cleaned often enough), sit on the same deck chairs at the pool, hold on to the same railings on the stairways (especially since the boat is moving), etc., etc.
They're all packed into the same space, making the same movements every day (room, to the stairs/elevator, to the buffet, to the stairs/elevator again, to the pool, to the stairs/elevator, etc.) Any virus that makes it to any common touch point is going to infect everybody in a matter of hours.
I suspect this is actually a bigger part of it than people realise.
I've been in very modern hotels that clearly had issues with their HVAC design as smells (bathroom smells... yuck!) from other rooms infiltrated through the ventilation ducts. I imagine this issue could be worse in a cruise ship given the small size of the cabins.