What exactly does it give the workers, better ways of dealing with management?
Leverage. Without a union, you can ask management for stuff, but they can just say no. Your only recourse then is to quit, which wouldn't change anything when it's just one person. With a union, a work stoppage is a possibility. Suddenly management have a reason to come to the negotiation table and make concessions.
A union can be just as exploitative as a company can. It's not all sunshine and rainbows.
The software industry has been regulated by demand over the last few decades. Demand is still extremely high for software devs. Managers know that employees can make moves because unemployment in our sector is something like 2%. I've worked in many industries in my life and I've never been chased down or marketed to move jobs as much as I have in software development.