Not only that but it's a constant "chicken and egg" situation - the shops are open so people go shopping, so when they're closed they complain ... The stores then open longer and later to accommodate this but there are still times when they can't open (and it's not even all stores it's just the larger ones) and people sill complain ...
Meanwhile retail workers don't get a choice, they're just told they have to do the hours or lose their jobs, which many can't afford to do, so they suck it up and end up doing longer and later hours all for the convenience of the people who still think that 6am-11pm M-F, 6am-10pm Sat and 11am-5pm Sunday is still not enough time to do their shopping.
I work Tuesday to Saturday now and often work the late shifts so not home till late so Sunday is my day to spend with DD but even when I was on a rolling shift pattern I always knew that there was one evening a week I was guaranteed to be able to get home, have dinner and spend the evening with DD. Every other day I could potentially be scheduled up until midnight but on a Sunday I knew I could arrange something in the evening, whether it was a wider family get together or just dinner and a movie on the sofa with DD and as long as it was for after 5pm I was guaranteed to be able to make it.
It's like at Christmas, when I work Boxing Day people come in and buy absolute tat for the sake of it and then try to commiserate with me that "Oh it's awful that you're working today, the shops should be shut!" ... Well why have you come shopping then?
If the stores opened and nobody came shopping then the companies would lose money (as they'd be paying store overheads, wages etc and get nothing coming in through the tills) and so in future they wouldn't open, but because people come shopping and buy stuff just for the sake of buying it then the companies make enough money to make it worthwhile opening and so they do, forcing their staff to work whether they like it or not.