It has nothing to do with whether or not the job is hard. I've worked retail, food service, and landscaping jobs through high school and university. I know those jobs aren't easy.
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.
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.