Very good topic Tulip!
I think the key cause of tension in such cases is not a lack of knowledge but a large ego. Most people are not experts on most things, but discussions are only enjoyable when more people join in. Problems arise when someone with an incomplete understanding of the subject is too arrogant to accept that he might be wrong. When you start prioritising your ego over the truth in this way, you have taken the debate too personally. Debating requires a certain degree of aloofness so as not to see a counterargument as a personal jab or a putdown.
When I fall into a discussion with someone who is not willing to have a reasoned debate, it is very frustrating because it seems like a waste of time and energy. The best solution is to be dishonest and agree with him or to try and change the topic.