No always. Take the very common union rules around seniority. Can the employer offer some benefit to an individual union member (e.g. preferred shifts, certain shifts that get bonuses, etc).
Sure! But often only by seniority.
So the guy who has been around the longest, but doesn't do a great (because the union will protect him) gets the best hours and best bonuses. Can you do a better job? Sure! But it doesn't matter, you don't have seniority.
Take that same scenario and apply it across a bunch of other issues you might have with coworkers and you'll get a sense how unions can go wrong.
Some agency gained is better than no agency at all.