Part of it is the unions themselves too, though. Many of them don't have any teeth anymore because of conservative lawmakers and the corporations that fund them. Some seem to be pretty corrupt, taking dues and doing next to nothing for the workers that are unionized. Some have gone too far and protect those that shouldn't be protected, like those simply lousy at their job, for example.
When you live paycheck to paycheck, those dues start to look like someone is taking cash out of your pocket, cash you sorely need.
I confess I don't know a lot about unions. I've had past employment where I was part of a union, and I found the experience (form an average person's point of view) to be rather lame. I paid dues, but I saw little to no communication from the union, no transparency, it was difficult to get questions answered, etc. It feels like you're being ripped off, since you are mandated to join. I think the principal of unions is a good one. I recognize that in the past they fought for the rights that we as workers do currently enjoy.
As things stand now though, unions seems very weak and a waste of money in the average person's eyes. To make them useful again, laws would have to be enacted to strengthen them, provide better transparency, and allow for neutral oversight.