You may think that a missed port automatically leads to a refund of port fees but that isn’t how it actually works.
port fees are constantly going up and down. It’s possible that the other ports you are visiting actually have increased fees. When that happens, you would not get a refund for the missed port.
also, some ports charge different port fees for passengers of different nationalities. So one passenger might get a refund for a missed port’s fees while another passenger, on the same cruise, wouldn’t.
it won’t be any different on any other cruise line.