Here are my five reasons why I think saying what's on your mind is always the best way to go:
1. Silence is as good as approval. If you disapprove of something but not say anything about it, it is as good as enabling it.
2. People are not mind-readers. While you may think things are obvious, people might not view the world with your perspective.
3. You might not be the only one thinking about it.
4. Speaking your mind can be a huge stress relief. I am incapable of not speaking my mind, I have a great deal of anxiety if for some reason I don't speak. It drives me crazy. It becomes this whole thing which would have not even existed had I just spoken up. Speak up!
5. You would never have to say, “I wish I had said…”
Obviously, there is a way to put forth what you want to say. The above points are not applicable for saying just the disapproved things or just the things that are hurting you but the good things too :-).