Think of it this way...
When a credit transaction is run, they can run a hold or reserve so much to make sure you can cover your bill and your deposit.
When a debit transaction is run, your bank isn't going to just hold your money. They'll do the only thing they can and pay the amount requested. Then, after you leave the hotel and they have a chance to confirm there is nothing broken or defaced in their property, they'll return the money.
Credit would be one transaction they will confirm later. Debit is technically two transactions, taking the money, then returning any overage, and the return will take a while because the Hotel's bank has to process the sending while your bank has to take its own time confirming the receipt.