It depends on the situation because at times it is better to hold your tongue as it will only cause a volatile situation blow up or like fanning the flames. Telling what you feel that you have to say will only create more problems and so it’s better to be the better person and hold it back. Unless you have a lot of power and no matter what you have said, everyone else will still have to listen to you and cannot do anything about it. But then that causes a lot of ill will and no matter how powerful you are, you still want to cut down on the ill will.
Now there will be situations when you cannot just back off and must take a stand and say it like it is. Call a spade a spade. Do not let that arrogant, smug, lying sonofabitch get the upper hand and give it right back to them. Show them that you have a backbone and will not lay down for them to walk all over you. They want a verbal war, fine GIVE THEM A VERBAL WAR! Show them what you are made off!
Just don’t forget to take a deep breath afterwards!
You’re right. Sometimes it’s best to say nothing. I have learnt that the hard way. But sometimes you also just have to let people have it. The deep breath afterwards is very important.