Carnival invites this upon themselves.
I guess it makes a lot of sense if businesses around a beach/center of activity shut down for a week if the same Carnival clientele come to visit.
The industry seems to be moving towards a 3 night/4 night schedule of short cruises instead of the 7-night or longer cruise schedule.
This opened up cruising to a different economic level of cruiser who could afford the shorter timeframes. Some people have commented that the 7-night cruises attracted an older and more affluent cruiser who didn't mind spending more for the longer cruise but spent less on nights 5-7. Moving to the 3-4 schedule guarantees two fresh wallets in the same week.
And everything else that goes with that.
-PJ