I believe this is happening in some other European countries as well, I’ve read that they want passengers off ships in port to encourage using bars , restaurants etc so they spend there euros in ports as though already stated some cruise lines have this priced in. I believe the USA has a tax too when in port or their waters on some ships as happens on land in bars etc. every state has a different tax rate.