When someone drops a class, the opening becomes available immediately, so you coordinate a time well after the registration rush has died down for one person to click "drop" and the other to refresh the page and click "register". At least that's how it worked when I did it 20 years ago. It was relatively common in the Greek system not to "trade" a class for a class but rather a class for a few beers or the like: prior to registration, if you were an underclassman who really needed to get into a class next quarter that you knew filled up quickly, you'd find an upperclassman (who get access to the system earlier) who was eligible for the class you needed and wasn't full on credits to grab a slot, then a couple days before classes started, you'd have them drop and then grab it for yourself.
At that time (early 2000s), polling bots weren't common, but there were rumors, so people doing this got more careful and actually sat next to each other with their laptops to coordinate the drop and add instead of just picking a time or date.
Allowing infinitely large waitlists for a given class - which even in the most convoluted legacy system imaginable is not that big of a challenge - and trading disappears overnight.
It's not a problem for the university directly, and fixing it would cost money, so there's no incentive to do it. Gotta make sure there's enough money to keep paying the president $76,000 every month, after all.
People complain about Teacher Unions all the time but I would hazard that the problem is the creeping middle management.
The right side is the 5- or 6-person high level classes offered every other year or something. Usually, but not always, these are in demand because professors are not fungible at this level and they're probably taught by a popular or famous professor. I took one of these at my school taught by a former cabinet secretary, just four of us seniors and him talking about politics for 4 hours every week. You can't just offer more of these; if you're teaching one class every other Spring you're unlikely to seriously consider changing that to two Fall and two Spring classes every year.
I was just pointing out that there are two competing reasons why classes end up with long waitlists or people who graduate having never had the chance to take them so it's not a simple "Do _________" and it's fixed.