It's just an inherently large imbalance, and the only way it doesn't exist is if there is a shortage of employees in the sector and the ROI per employee is high. This is a pretty small percentage of jobs.
Unions are one way to try to curb exploitation, but I don't know how effective they are in practice. If retail workers tried to unionize what is to prevent the millions of people who are equally qualified from replacing the entire union?