Currently, by design, if you accept your own answer it does not get pinned above the question. This practice is actually detrimental to lower throughout Stack Exchange network sites. As such, moderators and other trusted users should be permitted to pin the asker's answer when circumstances allow for it. Ideally this should take place under some form of peer review, but the feature would ensure that well written answers by the asker are not penalized and that reliable information continues to be promoted.
While this situation doesn't come up very often, the throughput situation is pretty clean. Case and point, on Skeptics.SE it can actually take considerable time for an answer to accrue enough votes to rise to the top (ex., 5 years 2 months, 22.5K views, 36 upvotes, contrast with SO, 19 days, 12K views, 300 upvotes). As a result, high quality answers by the OP might actually be ignored by readers.
In terms of why this feature exists, I seem to recall it was discussed on the podcast back during the beta testing (2008 time frame). The short explanation was that the current system is basically a compromise. They didn't want to you self-accept since they wanted to encourage Q&A, but they also wanted to encourage people to write up unusual situations for the record, or note when they found their own solutions. One problem is that they also didn't anticipate that SO would expand to topics outside of programming so the system doesn't work as well across SE as a whole.