The world has come to this as too many people jerk restaurants around. It's our own fault.
I know several people who will make bookings at around 3-4 restaurants for the same meal and then decide near the time based on where they are and which one they fancy going to without bothering to cancel the bookings.
Best solution? Restaurant's release the table after 15mins if a no-show