How much effort a cruise line puts into finding a replacement port is important also.
Recently, on another cruise line, we were a day late making our Westbound Suez transit due to technical.
We therefore had to miss Mykonos after the Suez due to the need to regain the schedule in the Med.
They did however, give us an unscheduled 5 hour stop in Messina which still meant we were back on schedule the next day.
They could easily just have made it a sea day, but they obviously put some effort into making the missed port as palatable as possible.
They earned much kudos for that.