Restaurants are like airlines in that they have seats which – if unused at a given meal – can never be resold. It’s spoiling inventory.
And they want to earn as much per table as possible, a diner spending less than they might is money foregone that can’t even be made back.
So like airlines they should want to vary prices with sophisticated yield management… varying prices based on time of day, day of week, whether or not it’s a holiday, weather, and overall demand.