It is both.
Voting is a good system. The alternative is “let’s just have a fight with guns, or with money, or connections to powerful people, every time there’s a disagreement.”
The problem is that we delegated the process of informing people what to vote for, to absolutely rotten media. And we delegated the process of figuring out the details of putting some candidates forward, to an absolutely craven, useless, and corrupt class of full-time political operatives who generally don’t give a shit about the people.
We need to fix those things. And yes, getting organized labor to fight back whenever they are fucking us, which is pretty much every day, to add some bite to all those polite ballots we’re sending in, sounds great.
But voting, as a concept, is good. It doesn’t have to be either or. It can be a 10-day general strike, and also voting to get rid of the guy who wants to nuke Iceland, and also organizing our politics better, for some candidates that aren’t so shit as these ones generally are. Each one will help the others get done.
The media will always exist and people will always base their decisions on the information they receive in the media. This is inevitable in any society with the degree of complexity we have today. It is just not possible to gather all the information ourselves about any but the most personal of topics. That is why free, unbiased, and independent media is an extremely important part of liberal electoral democracy. And for the greater part of the past two centuries, this is what we more or less had. Yes, major media outlets have always been somewhat controlled by the upper class (whether in the form of media companies or local media magnates), but until quite recently, most of them didn’t care about using those outlets as propaganda pieces; they just cared about continuing to collect their subscription money, which is likely the best-case scenario for privately owned for-profit media. It is astonishing that this system lasted as long as it did.