It doesn't matter that you, as a passenger, " think " they should do this, that, etc, etc. The cruise lines are not in charge of the Islands they visit and cannot just sail up, drop anchor, open the door and turn you loose. There are port authorities that handle scheduling, docking , berth assignments, time spent in the port, etc, etc.
With several ports and private islands now closed, that has only increased the pressure on the remaining ports to handle more traffic and passengers. To say you were " ripped off " by Carnival is a little much. Carnival didn't get to be the biggest cruise line in the world by ripping people off. Neither Carnival nor any cruise line owes " compensation " for a port missed from circumstances beyond their control. Read the contract.
Grand Cayman is a port that is a hit and miss proposition in the best of weather, due to the sea conditions sometimes being too rough to safely tender ashore. Guess if the port was open and your ship had to skip G.C. due to rough water you would really be up in arms.
Take the cruise--- when you first get aboard, throw the bad attitude overboard and enjoy a week of cruising. No amount of grumbling is going to get you into a port but a litle common sense can go a long way toward having a great vacation.
No, I'm not employed by any cruise line.