You should read your ticket contract. It's all there in black and white.
https://www.carnival.com/about-carnival/legal-notice/ticket-contract
Relevant portion:
"Carnival shall have no liability for any compensation or other damages in such circumstances for any change in itinerary, ports of call, ports of embarkation and debarkation, and/or duration of the cruise"