There is nothing wrong with being direct and saying what you mean but when you become mean and nasty it just makes you appear unpleasant. And who wants to be known as unpleasant?!
It sometimes takes a deep breath and some thought before speaking especially when the moment is contentious but if you say what you mean you will always get a better response.
What do you think?