I've been on two cruises that were unable to keep their chartered course. One of my Alaskan cruises could not go through Tracy Arm Fjord due to large icebergs that had broken off and went through Endicott instead. One cruise to Ensenada that was supposed to stop in Catalina rerouted to San Diego due to water too rough for the tenders. Both cases were decisions made based on safety of the passengers and ship. I was 100% fine with the decision.
However, the bulk of the passengers threw "hissy fits", ruined their day and tried to start a mutiny with the rest of the passengers. Have you ever been re-routed? How did you feel about it?