I worked in retail before my current 9-5 role. Retail was 7 days, with one day of late night trading, rotating rosters.
I can tell you the amount of work on peak periods (ie: weekends, public holidays, boxing day, etc) definitely earned the extra pay. While I worked in computer sales and had base + commission, the poor kids on the counter, selling CDs/games/working the storeroom didn't. It's definitely a case of penalty work. Otherwise people are less likely to work the harder shifts, and you're going to have more customers with worse/less staff.
If (and lets just say a massive figure that i'm sure has no basis in reality) 50% of people work 9-5 and do their shopping outside of those hours, shouldn't the people working to service the usual demand + that 50% of people be paid more for the less desirable hours?
That being said, I'm sure the system needs a kick in the ass, but shitcanning penalty rates completely wouldn't be the way to do it.