For some time many locals in Mazatlan were questioning what the cancellation of some cruise line stops was really about. While the original story was about safety, the follow up meetings and "requrements" for retuning to port made no sense. For example a cruise line demanded better street lighting for "safety"....but their passengers are back on board and sailing out for the next port before dark, so the lights would have zero impact on them.
Personally I heard from several local sources the reason for cancellations was really about lowered passenger numbers. Bookings were down and this led to cost cutting such as spending more time as sea to avoid port fees. More time at sea means slower speeds are necessary which saves fuel, and guests spending more time on board leads to more money spent on board.
In the end the safety claim seems to have been a convenient way for the cruise lines to point the finger elsewhere while explaining to returning passengers why some of their favorite stops were going to skipped this time. You can't blame any business for protecting their bottom line, but the "safety" excuse led to unfair negative publicity for Mexican ports like Mazatlan. Remember at least some times Puerto Vallarta was also affected.
The truth is now starting to come out. From the linked interview published in Travel Agent Central.
"Rodolfo Lopez Negrete, chief operating officer of the Mexico Tourism Board, and learned that several cruise lines that canceled calls to some popular Mexico destinations later told Mexico representatives the decision was purely business and had nothing to do with whether the areas in question were safe or not.
“A lot of cruise lines canceled because they said these destinations were unsafe. But that wasn’t exactly the case,” Negrete says, not mentioning any specific cruise lines.
“They have all recently admitted to us that this was a business decision and not a matter of safety.”