Time for my 5 cents worth (its Canadian, so = to 2cents US <G>).
If the ship didn't make a port of call due to weather related problems, I'd be tempted to say.. too bad, so sad. That is a chance we take going on ships, and everything else the ship was supposed to offer was available.
With mechanical breakdowns, I tend to lean more to the rights of the passenger. No question mechanical thing break. However, when they do, I believe the cruise lines should have some responsibility.
What form that responsibility takes could be up for discussion. Personally, I think a refund would be too much compensation. However, a shipboard credit certainly would seem like fair compensation.
Also, I believe the cruise lines should have a standard policy in the case of these events. Sometimes offering it, and sometimes not just confuses things.