In uk, if there is a mistake and money has not changed hands, then the hotel can withdraw the rate. If they took money from you already ( deducted from credit card account) then a contract is in force and the rate can not be changed (putting the money back into the account does not make a difference-you have a contract). However this only works with prepaid rates of course.
Agood chain will honour its mistake. A poor hotel who needs every cent it cam get will not ( unless the above mentioned contract is place)
Do not know the rules for other countries.....