But I still dont understand why they replace it with another island.
nnnn, it is often out of the cruise line's control. The Bahamas are close to Florida. It's possible that the ship just doesn't have time to go to another island that's further away. I was on a ship in November that was supposed to go to Key West and Cozumel, but Cozumel was not open yet because of hurricane damage. The decision was made to go to Grand Cayman instead, but that meant we couldn't go to Key West because they needed the extra day to travel to Grand Cayman. People who were counting on Key West and Cozumel were disappointed.
There are a lot of factors that go into whether or not a ship can stop at specific ports, including weather, tides, distance, and availability of alternate ports. That's why your cruise line ticket always says the cruise line has the option of changing or eliminating ports as necessary. The fact that the Bahamas determined there was no room for the Enchantment on your week is something out of Royal Caribbean's control. It would appear that substituting another port was not feasible to the ship's schedule.