It's usually because they can't get full teams willing to work only the shitty shifts. So they rotate.
When I was in retail management we had a 3-week rotating shift as well, and it was super dumb. We'd end up over 3 weeks opening, closing, or having off each day once, except for Tuesday, which we opened twice (Tuesdays were staff meetings so all managers worked).
But the worst part was each week we'd start with 2 closing shifts and end with 2 opening shifts instead of doing all opens or closes, so each week we'd have a night we'd get out the door around midnight and have to be back to open the doors at 6am...
From personal experience, when that happens everybody fights over the shitty shifts.
When my old company got bought out and they started making some people work Thanksgiving, people fought over the Thanksgiving shift because it paid 2.5x.
Reality is people always bitch no matter how shifts are broken up. These crappy rotations end up being the most "fair" system, so that's what corporate adopts even though everyone hates it.
What's the problem with paying more that the shitty shift becomes desirable enough for people to fight over? Seems a lot better than making it suck and forcing everybody to suffer