I prefer voting. I find protests annoying. They're a good way for people to let off steam, hang out with friends, get photos for the international press etc. but they're not the right mechanism for finding out what the people want.
They're definitely effective when most of the country wants the government out, but by that point a vote would certainly do just as well, and with fewer flying bricks.
Protests are designed to be annoying.n They are supposed to draw attention to issues that lack the needed attention according to protestors.
Voting does not allow to express that a certain issue is politically important to you.
Everyone prefers voting.. But to be able to vote, a vote must be happening. Protests are sometimes the only way to make a vote happen in the first place.
They are also a good communication tool for the world to see what the people are struggling with.
Protests can serve as an implied threat if the government is gaming the election process. They're certainly preferable to a riot or a coup attempt in that scenario.
They also serve to draw attention to issues that aren't showing up on the ballot for whatever reason. The system doesn't always work in an ideal way. To that end protests are supposed to be annoying to those who don't care.