Chris, please be aware that itinerary changes are usually not the fault of the cruise line. There can be many reasons why a port is dropped. Sometimes the country decides there are too many ships docking at that port on a particular day, and they refuse to let one or more ships dock there, even though they were supposed to. Sometimes the timing of port visits has to be changed through no fault of the cruise line, making the stop too short to be considered worthwhile.
It's too bad you have to lose your deposit if you cancel; I know that's a difference between British and U.S. rules for the deposit. Just be aware that this unfortunate change of itinerary may have been imposed on Royal Caribbean through no fault of its own.