It is kind of an annoying feature that I have to wait to accept an answer after I upvote it. Why is it done like that?
Because I wrote an answer that took 14 minutes today and while I was writing, a person who posted a 2 liner got accepted.
While this scenario was completely unavoidable, consider people who do only take a minute to write the answer, and if someone else who posts within 20 seconds is accepted it might deter people.
I kind of feel a little robbed personally... Should I use a physical page for a list?
But if it was shorter... it would be even more annoying!
I have no insight into this, but here's another possibility:
My friend and I have accounts on Stack Overflow. We make an agreement to increase each others' rep and get badges by answering each others' questions. So we try to ask and answer as many questions as possible, as fast as possible.
By limiting how soon an answer can be accepted, the system prevents us from artificially boosting our rep too quickly.
Hopefully it goes without saying that this is just a hypothetical, I have never done this nor have any plans to do so.