The issue of port fees is more complicated than it first appears.
here is what guest relations explained to me. Port fees are constantly changing. But when you book a cruise, you are quoted a certain amount for port fees. In the intervening weeks and months, maybe the fees go up, maybe they go down, but you pay what you were quoted initially.
if the ship misses a port, maybe your aggregate total fees for all the itinerary’s ports went down and you could get a refund. But maybe the total for all of the ports went up and you do not get a refund for the one you missed.
but wait, there’s more. It also turns out that different nationalities are charged different port fees by certain destinations. But the quoted amount at booking is the same for all.
so it is possible that Germans might not get a refund for a missed port but Dutch citizens would. On the very same cruise!