As complexity increases, it gets more and more difficult to agree. Sometimes, we try to agree on a concept that has moving variables.
One thing programmers love doing when they should be programming is arguing over the best way to program. Either they idolize the new hot thing, or they scoff the new hot thing and stick to their old guns.
One thing programmers love doing when they're not programming or arguing over best practices is patting each others' backs over how the way they're programming is so much better than the others' in the dark.
Always in online arguments, the abstraction is too high. People get stuck arguing over which pattern is best in an absolute manner when in fact the patterns only came about to address contexts. This is the biggest problem in thinking, designing, and building: obsessing over the form and losing sight of the context.
Almost anytime when you remove the ultra-high abstraction of ideal from a programming argument -- you can do this by looking at actual code running in actual contexts -- the once arguing programmers will more often than not converge on the best way to tackle the context. They suddenly no longer obsess over the best form but rather focus on the context.
I think that agreement is so low at the national politics level because the abstraction is too high. You really can't agree at that level even if you think you do with another person in your echo chamber. To get to actual agreement you need to get to the brass tacks. Unfortunately for most that means getting out of vapor conversations stuck in the cloud of intangibles and down to reality. The earth. Dirt. Things you can actually do.