Berths/ports are booked many months if not years in advance. This can limit the changes a cruise line can make. We were on a West Carib that got rerouted. Instead of Cozumel, Grand Cayman, to Ocho Rios, we ran the route backwards. There was 'no room at the inn' when we got to Jamaica and we ended up in Montego Bay. It was an excellent adventure!