It could just be an organization that exerts power on a wide scale without directly negotiating on behalf of the professional.
Look at the difference between Doctors associations, Lawyer associations, and computer science associations.
The most powerful medical authority is a collective body run by doctors, NOT run by the employers of doctors. This is because doctors as a collective have banded together and decided to take collective power.
Computer scientists on the other hand choose not to do this and so the powerful groups are run by corporate interests.
Who represents the voice of the collective programmer? No one really.
A body of software professionals similar to the AMA would raise salaries and provide many other benefits without having to directly negotiate on behalf of the employees.
One thing it could facilitate for instance would be scientific and wide-scale income information sharing which alone would raise the pay of every single software professional. It would level the playing field in negotiations and allow software professionals to capture more of their own productivity.
> Workers in our industry have enough skill > to get good compensation and benefits.
This is true but I've found that there is a lot of hidden costs to being a salaried employee, in the form of a lot of pressure to "get things done" so other people can benefit (make more sales). If you are part of a revunue sharing program then that's different, but revenue sharing doesn't seem to be that common.
I don't think there's been one situation in my career where an union would have helped me.