A lot of it has to do with the dramatic decline in union membership in the United States. While not the only method, unions do (or used to) represent one of the best protectors of workers' rights. Without them, a worker must rely on existing laws and, moreso, having those laws properly enforced. It's a matter of scale: how does the balance of power work out in the relationship between a large employer and a single employee? Probably not very well. With a union, at least things are a little more balanced. Now, I'm not trying to skip over some of the downsides of an overly powerful union, but treatment of workers is generally much better if you have a union. Enough that it greatly outweighs any of the problems you might have with a given union.
Another issue is laws designed to hamper unions. I live in Arizona and this is considered to be a "Right to Work State" meaning that you have the "right" to have a job. In reality, this law does two things: 1) If your job is unionized, you do not have to join the union, and 2) an employer can fire you for virtually any reason whatsoever.
The obvious problem with number 1 is that, if you are lucky enough to actually have a union available, not all of the workers need join. This, of course, reduces the collective bargaining power of the union, but another issue is that those workers who choose not to join the union nonetheless are more than happy to reap the fruits of things like union negotiated contracts and such. The problem with number 2 is a little more subtle. Anti-discrimination laws, and a host of others, make it very clear the conditions under which you cannot fire an employee, for example because of their race, religion, etc. But if your employer can fire you for any given (lawful) reason, it is extremely easy for an employer to want to fire you for some illegal reason and then simply make up a legal reason for doing so. Actually proving that this was done is next to impossible. While this sort of trickery may not be used to fire somebody for being a particular color (depending on where you live, I suppose), it does seem unfortunately common to use this as a means of discriminating based on age so that a company can axe older workers who are likely paid more by virtue of being more experienced.
This just represents my opinion, of course, but I'm hardly alone. Much of what has been done to harm American workers has been done in the name of, supposedly, promoting "personal responsibility" and the like. Laws that create these sorts of problems are almost always passed by pro-business politicians, usually (but not always) on the Right side of the political spectrum.
And, if I may, let me attempt to preemptively counter a very typical rebuttal I see far to often on Slashdot. Way to many people will argue that if you have a problem with your job, union, state laws, etc. then you should change jobs and/or move. If this were the land of unlimited opportunities, then sure, go for it. Sadly, this argument completely ignores a number of fundamental truths. First, finding a new job is not easy, and, depending on your profession, can be extremely difficult. In times of economic trouble and recession, it's that much harder. Second, it ignores entirely the sense of community that one develops. Maybe you like where you live, or maybe your spouse has a job that cannot be so easily transferred, or you have children you'd rather not routinely transplant. There are any number of reasons, but when you've lived somewhere for awhile, you create ties with that community. A worker shouldn't have to uproot themselves from their community just because their employer has decided to jerk them around.