I don't necessarily agree with the statement above, but the reasoning is that cruise visitors don't stay in hotels or eat breakfast/dinner off the boat. So the boat brings a lot of people all at once that taxes the infrastructure and the only money they spend is on lunch.
About 10 years ago I visited Acapulco, just a few months after it appeared in the lists as one of the most dangerous cities in the world (after a lot of tourists were captured for ransom). The center (with beaches, markets, restaurants) was completely empty, as the US (the main tourist source) recommended the tourists to avoid the place, so cruise ships did not stop there anymore. The locals told us that they took a big financial hit because of that - as on average a cruise ship tourist spent around $100 per day on food, transport, attractions and souvenirs.
They spend tons of money on excursions, there is a cottage industry of tour guides and mini malls at every cruise port. To cater to short tours, snorkeling/beach/hiking trips, and shopping. This if anything cruise people get off the boat spend their money, and get back on without filling up hotels, etc.