Due to the approaching Hurricane Irene the Port Authority in San Juan, Puerto Rico ordered the Carnival Victory, and Royal Caribbean Serenade of the Seas to leave the port early.
RCI had about 150 passengers who hadn't boarded the ship. Carnival had almost 3 times that many.
RCI passengers arriving at the pier after the ship sailed were given the names of available hotels, and had to pay their own expenses for hotels and flights to meet the ship in the next port of call (except those who had booked RCI air package).
Carnival arranged complimentary accomodations for all their stranded passengers for 2 nights (no matter where they booked their air package), as well as flights to meet the ship later.
While I'm sure there will be some disgruntled passengers in both groups, it certainly seems that Carnival went above and beyond what their cruise contract called for, while RCI stuck to the corporate policy.