We, too, have missed a port because of propulsion problems. But, I still think that we are applying what happens on land to cruises and that doesn't fly, so to speak. They can't just up and go to drydock the minute something goes wrong. Dry dock facilities for ships that size are booked months or even years in advance. And the ship's engineer can't just run out to Home Depot for parts, even if the problem was inside the ship.
Are the cruise lines in the business of making money? Of course they are. But, that is not necessarily the main reason that something does or does not happen.