The difference is that those jobs require workers to be present throughout the day in order to get work done. As a software developer I could probably cut my hours per day and produce the same amount of output. As a waiter my productivity (and earnings) was dependent on customers showing up to the restaurant. If I only worked 6 hours instead of 8, or 4 days instead of 5, then I served fewer customers and earned fewer tips.
And, of course, we're paid the same or more, as we're making the company the same amount of money, if not more.
There is certainly room for innovation that makes sense for productivity AND for worker morale. But the people making the decisions are risk-averse and don't have to deal with the downsides of their heel-dragging.
Also, as a waiter, your wages should not be paid by the customers. Tips are bullshit, and the rest of the world knows this. You should be paid a fair hourly wage.
And now you've increased overhead and labor costs for these companies significantly while reducing the pay of the average worker (are cashiers going salary now?) I don't see how that works for anyone.
There are too many places that function like a firehouse and hours in seat matter at those places.