That's not a good analogy and I'll explain why:
When you go to a restaurant, yes, you are paying up front, but you also have security in the knowledge that the restaurant needs to meet certain standards (such as Sanitization scores). You also know that the vast majority of the time, you can expect a complete meal that is cooked properly. Yes, there are bad restaurants that fail in this area sometimes, but those are usually the restaurants that quickly close down due to bad reviews or audits.
But game development is not the same. The vast majority of indie PC games do not have a formal QA process. Indie developers do not have to meet government standards for quality. All that matters is if the developer thinks "it's good enough", whatever that means. Projects are published all the time that are half-baked (never to be worked on again) or plagued with bugs (some game-breaking and some not).
One of the biggest complaints I've seen about developers is when they promise the world but fail to deliver. A good example is the Steam game Salt and Salt 2. The original Salt came out, promising to be a cool open-world pirate game. And the developers asked money for it, even though it was in a very early stage of development. Then all of a sudden they dropped Salt and started Salt 2. But if you were an original backer of Salt, you didn't automatically get grandfathered into Salt 2, you had to buy it. Understandably, many gamers were frustrated with this and you'll see it in their comments like these:
This is why paying first for indie games is a bad idea.