I've thought a lot about why, since I used to really enjoy HN - now it's just one of a few newssites I visit every day. It's hard to quantify but here are my reasons and my take at the decline:
1) The obvious one: Signal to noise ratio in the comments is way down. The problem is twofold - there are both more bad comments, and the ones that are good aren't necessarily voted to the top. This makes it harder for me to find the nuggets that would be shown at the top of every comments page a year or two ago. As others have pointed out it sound easy but is in fact a very hard problem to solve.
2) The interaction in the comments is less interesting. I used to have great arguments in the comments. Sometimes I would convince someone of my point of view sometimes it was the other way around, sometimes there just wasn't agreement to be found. But it was always interesting and civil, and I very often learned something new. Engaging in, and watching others have interesting discussions was for me one of the main things I loved about HN. It's like when you go to a dinner party and get to sit next to this incredily interesting guy that is exceptionally insightful and has some really interesting things to say. The conversation leaves a mark on you.
3) I often find that the comments I make that I personally find insightful or interesting don't get a lot of upvotes, while the ones that state something obvious or funny get more upvotes. This isn't encouraging me to interact with people here on an intellectually interesting level. If others do this as well, which I suspect they will, then it's extremely degrading to the discourse in the comments. I often find that I don't bother to write up a response to something because I know won't get a lot of attention. Sometimes my points are totally missed.
4) Maybe I've outgrown the site. Many concepts that were new to me when I joined HN are now familiar, and many discussions have already been had. RiderofGiraffes describes it well in the linked comment.
I owe a lot to HN, and I really want it to succeed, so I stick around and hope that things will change. But for now it's from a less engaged position.
One possible solution: depend more on credentials, and give people who have useful things to say / special background knowledge priority. Weigh their votes more and give them karma bonuses. Someone from a YC startup might be given more weight than someone who opines on large-scale, amorphous social problems from a generic position ("outsourcing: economic doom or natural phenomenon? Let's flame!").
I think the big thing, more than anything else, is the learning aspect. We tend to learn more from people who know a lot of stuff and have unusual experiences or abilities. Those people tend to cluster, then less smart people cluster around them, eventually leading toward decline. One way to counter that: identify those people and give them a louder voice. I don't think there's a technical way to do this that won't be gamed, unfortunately, which leads to a major scaling problem.
I mostly try to follow this rule: I mostly comment on areas related to schools / teaching / universities (I'm a grad student in English lit at the University of Arizona), books, or literature. I try to make comments that are as rooted as fact in possible; for example, when someone a while ago said there were no laptops with IPS screens anymore, I left a link to an Anandtech review of one and didn't say much else. Problem is, I don't have any good way of systematizing that or rewarding it except on an individual level.