This is sadly a pretty ubiquitous problem in online help forums of all kinds -- as the popularity of the underlying technology and the membership of the community increases, the noise:signal ratio naturally does too.
What can we do? Well I personally am with @Bachovski in that I don't answer questions, or often even look at them, if the question points to a lack of basic research or understanding. As members of this community, each person should have their personal standards for the types of questions and question-askers they want to assist with.
I do think it's an important part of the membership - and mod's - jobs to assist people in learning what is an appropriate question, what's not, and how to get help here. Adding comments when questions are closed, asking for clarifications, and pointing out where people went wrong in the question they asked are all activities that help improve the quality of the community... but they're long-term, low-reward, boring activities and aren't ultimately likely to counteract the side effects of a community rapidly growing in popularity.
I'm much more likely to help out on a question multiple times when it's clear the person is trying to learn and is asking questions that show they've at least done a little research. A big part of the onus is on the asker to ask questions that get answers.
As community members, the best we can do is help people ask better questions when they're off base. There will also be lazy and uninformed people who pollute the community, but being a community that has standards around what types of questions get helpful answers also helps us in the long run. I have no qualms about down-voting questions and answers that show a lack of understanding of what we're trying to achieve here.
The problem is annoying because getting a higher noise:signal ratio in questions dramatically reduces community engagement. I specifically remember deciding to visit this site less to answer people when, on two consecutive days, I went through an entire page of new questions without finding a single question I wanted to answer. As a result, I've plummeted out of the top 10 answerers on the site.
Finally, bravo on your effort on that question you linked, you were WAY more patient than I would be. I don't generally answer questions where someone with a low rep score just posts verbatim VF/controller code, because it shows that they can't distill their question into just the part they need assistance with. In this person's case, they implied a chain of extremely basic questions: how do I get the ID of the current user? How do I get the ID of a Community User's Contact/Account based on their User ID? How do I write a SOQL query to get assets from an account/contact ID? How do I create a picklist and render that in VF, based on the results of such a query? How do I populate a reference to a selected record back to a new Case record? There are so many code examples and pieces of documentation for each of those questions that I would take their question as a sign of not being able to do simple research and ignore/downvote them.