You can express your displeasure with something in two ways:
- Leaving when something offends you, sending a message to the event or organization that you won't stand for this
- Staying and fighting to change something, sending a message to the government or company that you won't be treated this way
Each is its own protest and both have proven to be very effective. And while I'd love to be able to say that you always need to choose one over the other, I'm instead going to offer up that you need to be ready to do both.
If you always leave when things get hairy, hoping your absence sends a message, stay and speak up next time to see what happens when your voice is heard.
And if you always say something, keep quiet and walk out next time to see what people think when they witness your displeasure in the form of an exit.
Then, you'll be able to use the tactic that is most effective when the situation calls for it. Sending a message sometimes sounds like silence. Other times it looks like staying put. Either way, make sure you're saying something people need to hear.