The cruise line will not guarantee your itinerary and will make changes if necessary. Some cruises may eliminate or replace a port of call based on weather, crime or a variety of reasons. The best way to handle this is just to understand that changes can happen. The captain and crew are always going to do what is best in their opinion (or shore side management’s opinion) for all guests and crew onboard. They are not making changes to upset you or ruin your vacation. When it comes to bad weather, I would certainly rather they change the itinerary rather than have a horrible day in a port of call.
Itinerary changes can happen at any time. Three times on sailings we had potential itinerary changes. In two cases, the changes happened at the beginning of the cruise and continued throughout the cruise until the day we were actually supposed to be at a particular port of call. The other time, the change happened once on the morning we were supposed to arrive in port. On one cruise we were told when we embarked on Saturday that we would not get in to Castaway Cay, Disney’s private island, due to damage from three hurricanes. On Monday of the cruise, we were told that we would make it in. I know people were disappointed when we heard we wouldn’t make it, but things changed so getting upset about it didn’t do any good.
It is important that you keep your profile with the cruise line and your travel agent updated with your plans prior to the cruise for just the situation when the itinerary must be changed. Even if you only booked the cruise with your travel agent but booked a pre-stay independently or with another agent, you should make your cruise agent aware of your plans. I’ve had the situation where the cruise line changed the itinerary on the morning of embarkation since the ship was delayed getting in. While a guest on their way to a ship isn’t going to stop and go home until the ship is ready, it is comforting to know what is going on and what alternate arrangements are being made.