There are (many) occasions where a questioner does not respond/acknowledge any answers to their question. Currently an answerer is prohibited from given any kind of recognition to their answer even after many days of non-response from the questioner. My feeling is that if someone asks a question then at least one of the responders should be able to take some kind of credit for devoting time and energy trying to be helpful.
Remember that most of the 'value' of the site is meant to come not from dealing with the original poster but rather the wider user base. As such, a good answer should gain upvotes from several (or even many) people: that is the key to determining which answers are best. Answers being accepted by the original poster is certainly welcome, but it's far from the main determinant of answer ranking. As such, I'm not sure what one can say here beyond 'it happens'.
This is the internet. Asking a question takes just a few seconds. We are a help desk, and we help free of charge.
You can end a phone call saying "Works, Thanks mate" and hang up without waiting for any response. Internet communication is not instant. You never know if the person asking the question is waiting for an answer, or asked a question, grabbed some luggage and goes on a holiday trip. Or the computer crashed 10 minutes after posting the question. Or the user posted on a smartphone while walking and fell into a pit ...
There is no guarantee to hear from the OP ever again, and there is no obligation to do so.
If the answer is good, it will attract upvotes by others.
This answer is more a response to Peter's comments on Joseph's answer.
The fact that a user accepts an answer or responds to it is neither necessary nor sufficient evidence for the validity of an answer anyway.
Sometimes users accept an answer which is demonstrably worse than another competing answers. This can be for a variety of reasons, ranging from the speed at which users accept (accept the first answer that seems to work for them) to accepting an answer that although hackish, is at a level of code they can understand.
The vote count on answers is often a reasonable proxy for the worth of the answer, so in the case of point 1 above, a competing answer may well have more votes than the accepted answer. This is especially true in our case, since we are quite diligent voters as a group, so good answers do tend to get upvotes.
Good answers are very often accompanied with a complete MWE, even when the original question didn't include one. This fact alone makes it relatively simple for anyone to test whether a solution actually works or not (and non-working solutions rarely go unnoticed.)