Public transport is usually run at a loss, and at least partly funded with local taxes. Same for public museums, although I don't know about the Netherlands.
I think the amount of pollution per passenger is really disproportionately high for cruise ships, and I'm afraid nothing can be really done about it. It's just a less efficient means of transportation.
Now, living in Antwerp the pollution caused by container ships is at a whole other level though.