Reddit is mechanically the best forum I've seen; the tree conversation structure is massively better than the linear structure. Although it could stand to gain the ability to opt-in to notifications on a post other than your own...
But I have one major problem with reddit: the voting mechanic. It invites appeals to popularity, hurts feelings and makes every disagreement confrontational.
Downvoting someone's post is inherently insulting. I know this isn't just me because I've been accused of intolerance for downvoting people who disagree with me. This makes it almost impossible to keep disagreements civil because you can't express your disapproval of someone's post without them getting defensive, and quite understandably so. Even though you can't directly see when someone has downvoted you, it's usually assumed if you're in a one-on-one conversation branch - bonus points for the occasional misunderstanding when someone else comes along and downvotes the person you're disagreeing with. And naturally it's even more insulting when you see invisible bystanding voters taking your opponent's side. Even if no one explicitly invokes an appeal to popularity, it's still affecting how people feel. There's little more insulting than someone taking action to reduce your post's visibility without not leaving a response.
Since posts are sorted in part by their karma, downvoting someone's post reduces the odds of other people seeing it, so you're inherently saying "I think your comment doesn't deserve to be on this thread" when you downvote someone. And you're not just saying it, you're actually taking physical action to make that happen. So it's like you're inherently trying to censor someone when you disagree with them. Even if you sincerely believe that's the right thing to do and you're right, it shouldn't be surprising that this is insulting.
I wish they would just hide the vote counts. It could still achieve the goal of getting more liked posts to the top without raising everyone's ire.
Some people might argue that visible vote counts can be useful to quickly gauge consensus, and that's a valid point, I'll admit. Especially when two people disagree on a matter of fact and neither one has transferrable proof this can be useful. But it's not worth how much it damages the culture and relationships and quality of discussion.