Alternatively, the government spends a lot of money on heritage sites etc aimed at tourists. Normally visitors pay the Steam Packet or an airline to get here upon which the government takes duties and stay in a hotel whose staff pay taxes. Even those that stay with family buy food and drink whilst they're here.
But a cruise ship passenger, doesn't spend much time here - no Steam Packet fare, no airport duty, no accommodation costs. A small lunchtime snack, maybe a souvenir. Why shouldn't the government seek to maximise the revenue, otherwise why invite them?