Bonjour,
A priori c'est "normal" - ps : je ne suis pas juriste, mais je travaille dans le monde de la réservation touristique (systèmes informatiques de réservation aérienne, hotelière, etc.).
Vous aviez effectué une réservation pour une durée donnée, pendant laquelle l'hotelier n'a pas pu - de fait - louer la chambre.
Lorsque vous donnez votre numéro de carte bancaire, c'est pour garantir la réservation. Vous ne faites pas que "valider" la réservation, vous la garantissez, en donnant l'autorisation de prélevement.
Que vous restiez ensuite pour la durée du séjour reservée ou pas (quel qu'en soit le motif), l'hotelier est garanti d'être rémunéré. C'est bien pour ça que tous les hotels demandent une garantie.
Si vous aviez souscrit une assurance voyage, vous pourriez être indemnisé pour les cas couverts par votre contrat d'assurance.
Le type de tarif peut aussi dans certain cas accepter un certain niveau de flexibilité en cas d'annulation.
Si l'hotel n'a pas le niveau de prestation auquel vous vous étiez attendu, je ne sais pas quels sont vos recours, malheureusement.
J'imagine que ça doit dépendre de la législation du pays de l'hotel, à moins que vous ne puissiez vous retourner contre l'organisme qui vous a vendu la prestation.
Mais attention, bien souvent les photos ne sont pas contractuelles... et c'est écrit.
... De l'interêt de passer par un agent de voyage "humain" et avec pignon sur rue, qui vous évitera des déconvenues par sa connaissance des bonnes et des moins bonnes adresses, et contre lequel vous pouvez toujours vous retourner en cas de mésaventure...
A votre place, je ne me gênerais pas pour leur faire de la publicité gratuite sur les sites d'avis de voyageurs (prestataire de service internet + hotel).
En vous souhaitant bonne chance,
I.