must be a lot different in your part of the country. in areas I've worked (north of SF cal. to KC, everywhere north of there and in HI) it's a lot different.
non-union is mostly made up of our cast-offs and illegal aliens. there is a very small handful of competent non-union guys around, most are guys who started off in the early 80's when work was so bad that we weren't taking in any new members, they happened to get into a company who treated them well and stayed with it.
they also get a few of our freshly graduated apprentices, who are too young to see the value of benefits and get taken in by offers for $2-5 more per hour over scale, in exchange for $20 in benefits they give up. these guys usually go straight to supervision. we don't miss them much (other than the $40-50k or so that is invested in the training of an apprentice) guys with that kind of lack of loyalty are usually more trouble than they are worth in the end.
very few (usually only 3 or 4 out of 100) non union workers make within $10 per hour of Union scale, and I don't know of any non-Union contractors that offer anything close to our benefit package.
the whole idea that the union is made up of low-skilled guys who need everyone to make the same so they can make a decent wage is laughable. when our apprentices make more than non-Union journeymen (apprentices start at $22 plus the full benefit package).
if most of us are the incompetents you claim, how good would those invisible few whom you've never met have to be? I mean, you say that unions allow the bad workers to suck wages away from the good ones. when you average the worth of all the union guys, and these few guys are good enough that the average wage of them and the worthless masses is still about 30-50% above non-union wages (not including benefits, if you include that union wages are about 110% higher). these few guys would have to be supermen to off-set the average. the math just doesn't work , does it?
the fact is that in a non-union environment, the company holds much more power than the worker. its sort of a proxy set up, where the worker has one unit of power (he can work one job), and the employer has a unit of power for each job he needs to fill.
so while a worker may only have 5 or 6 employers to choose from the employer will have several hundred workers. that situation gives the employer that much more leverage when there is bargaining to be done.
if an employer hires 100 workers, he can afford to have a guy who is only 50% as productive, or pass on an employee who is maybe twice as productive. it has a much slighter effect on his bottom line.
while an employee isn't so lucky, if he does business with an employer who pays half as much it cuts his bottom line in half.
by having a union, you get several benefits. the main one is bargaining power. it levels the playing field. the union controls the bargaining power for all of the employees (and the employees control the union). in that same 100 employee company the power would be equal. the union would control 100 units of labor and the employer would control 100 units of available jobs.
other benefits are a much safer work place. I've worked non-union when I was younger. workers often tolerate huge safety hazards, because they know if the bring it up they will be replaced or given crappy work assignments. in a union shop the employee just tells his steward who reports the problem to management, the employee stays anonymous.
there are many other ways that it is better, too many to list. the situation is better on so many levels when you aren't constantly being pitted against the guy working next to you for your job. less backstabbing, more cooperation, higher quality work (since you don't have to worry about competing with each other, just the other companies, fellow workers are much quicker to help train new guys instead of just trying to point out their mistakes. this combined with the intense training required before a guy can be made a journeyman.)