Why must people put each other down when they don't agree with them? We are all entitled to our opinion and if you don't like it then fine, but there is no reason to insult them or call them names. There used to be a time were people would have open debates based on facts, but now I see once one person can't argue their side then they immediately start with the name-calling and insults. I think that those people that are quick to insult are doing one of two things, either unable to back up with facts, or don't have the facts, or they are projecting themselves on the other.
Debates are very useful to see where someone is coming from, their side of the story. If both people keep an open mind then they might be able to learn something. To have an open mind the person must be willing to learn and even change.
Although I have an opinion on every topic it doesn't mean I'm always right with those opinions. I haven't lived through every scenario and there are many experiences I haven't taken part of that would mold my opinions. And whoever I'm in a discussion with could provide new information to me that I haven't thought of or known that would change my ideas.
I'm always trying to learn from people, both those I agree with and those I don't. I usually learn more from those I don't agree with. When I walk away from a discussion my opinion will either be reaffirmed or changed in some way, whether drastically or in a minor way but I learned something either way.