Debit and credit cards are known to have a "hold" on the account for certain amounts until the cruise is "definately" paid for. You were not really charged twice, your bank account money remains tied up with the words "amount available". That amount disappears in a few days. What I quickly learned was to put cash into a cruise account, and use debit card as a backup only in case you splurge and go over the amount in your cash account.
I've had this happen in the past with a credit card dealing with a major hotel chain. Even though the bill was paid, we quickly found out we still had a hold amount on the account. Pretty embarassing when you are trying to buy tickets at Universal Studios and the CC got rejected because of the "hold" on the account.