When you book a cruise the ports of call are a planned itinerary, not a guaranteed one. You need to understand that you may never get to some of them, so never make absolute must-do arrangements in any destination based on a cruise you book. So, for example, do not plan and book your dream wedding in one of the port you are due to visit. You may never make it there.
In the cruise contract or terms, you are agreeing that the line can make changes to the ports at their discretion. While changes are unusual they can occur for any of the following reasons: Weather preventing the ship docking. This has happened to me fairly often, with the ship either spending a day at sea or diverting to another nearby port. Operational issues, such as too many ships going to be in port. I have had a port dropped and other put in its place once on a Caribbean cruise. Security issues. This happened in 2015, for example, following an attack on cruise passengers in Tunisia when ships due to call there all called on Malta instead. Mechanical problems. Delays caused by equipment issues may mean the ship skips ports to keep on track in reaching its disembarkation port on time.
When you book a cruise, assume the ports are a guideline. Which ion most cases will be delivered - but may not be and so plan accordingly.