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 is explicitly invoking 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.
Part of the problem is that each user's account keeps track of their total karma and so there's always this implicit quest to gain more karma. Being downvoted feels like someone is lowering your "score" in what is not supposed to be a competition, but now is something worse, because if they're lowering yours and you're not lowering theirs then you have one-sided hostility, a overpowering psychological effect. It makes every intellectual opponent an enemy.
I wish they would just hide the vote counts. It could still achieve the result of getting more liked posts to the top without any bad.
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.