It's fine. Way too many people can't be bothered to cancel or they book multiple places which harms not only the restaurant, but the rest of us. Sure, overbooking is the result, but that defeats the purpose of having a reservation.
At higher end places, a hefty deposit makes all the sense in the world. Provide a CC and either cancel at some specified time prior to the reservation or pay a significant no show fee.