Fear can prevent people from speaking their minds. If you have a horrible boss, then there is a big chance you won't tell him that you dislike him.
Under the effect of anger so many people lose control of themselves and say things they regret later. When a person is calm, he can access all of his brain. When a person gets angry, only certain areas are accessed and that's why he says horrible things.
Some people say things in order to put others down or devalue them. This usually happens when a person feels jealous of someone, or feels inferior to him. Yes, someone might say something bad to you just because he is jealous.
Fear of embarrassment can prevent people from saying what they want. Remember when you wanted to say something in class, but were too afraid to sound stupid in front of the other students?
Lies give some people emotional stability. They invent lies and believe in them just because confronting reality would hurt them badly. As a result, they might say things they never meant in order to support their lies.
People who have low self esteem can lie in order to make others think highly of them. When a person cares more about the opinion of others than he cares about his core values, lying can become a habit.
For some people the desire to win is more important than the desire to be right. This is very common in debates, where a person says things he doesn't mean just to win.
Psychopaths and emotionally unstable people can say things they don't mean just to manipulate their victims. Players for example can send indirect signals to show interest, while in fact all they want might be approval or a self esteem boost.
Some people don't have any bad intentions but they just don't know how to choose the right words to express themselves. This is common in relationships where one person fails to demonstrate his love even though he is truly in love.
Sensitive people usually don't criticise others and they prefer to give compliments instead. As a result, such people can say things they don't mean just because they don't want to hurt others (See signs someone is sensitive).
Some people never say the truth because they think that the truth might hurt. In such a case, they prefer to say something that they don't mean, to telling the truth.
When a person gets really pressured or emotional, he temporary loses his sense of logic and might say things he doesn't mean.
A person who feels insecure will hardly be able to compliment others, and as a result he might stay silent instead of giving people the compliments they deserve.