Yes, they do sometimes offer future discounts, but I think those are for exceptional circumstances; if you read your cruise contract, they don't even guarantee that you'll dock anywhere. We've been rerouted a couple of times - sometimes not for weather-related reasons but repair-related reasons - and I just assume that's the risk you run and accept it. Last time, we were diverted to Puerto Rico instead of Tortola, and I actually quite enjoyed the change.