Few people fly in and flood the streets of tourist hotspot cities for just a couple of hours and then disappear again without spending any money on hotels, and often not even restaurants.
You can do that as a plane tourist too, but it's far less common.
As soon as you stay even one night you are NOT like cruise tourists. You probably had at least one dinner and one hotel stay. Good tourist.
Why are the hotels a worthy way to spend the money? They push up the house prices for those who actually live there. Someone who isn't taking up a bed that a local could sleep in is being a better tourist IMO.
Yours is an argument against tourism. Sure a lot of people dislike tourism but it’s a major source of income in many places where there are few other industries. When people pay local businesses then at least money stays where they are spent, helping locals who don’t work in the tourist industry by providing funding for services etc. Thats why hotels and restaurants are a good way to spend money.
Cruise tourism usually pays very little to local business but the crowds and pollution is there anyway.
I believe in the greatest happiness of the greatest number, so I'm in favour of making sure as many people as possible get to experience these places - Venice, Everest, Jamaica, wherever people want to go - with the minimum disruption to others. Cruises seem like the best way to minimise the per-person "footprint" of visiting a place - just as container ships are the most efficient way of transporting goods.
If the aim of supporting tourism is to "bring money into the local economy" then hotel rooms are one of the biggest ticket items when booking a holiday. Almost always the biggest when you ignore flights, which don't contribute directly to the local economy anyway.
If you look at Santorini for example, all of the revenue of locals is from tourism. Actually many of the people don't have jobs during winter, so they have to close the restaurants and the hotels when they are out of season.