Wouldn't it be better if an answer could be accepted only after some time after posting a question (say 24 hours)? I think this would help in accepting the truly best answer. Often (especially when a newbie) asks a question, the grateful user click-happily accepts an answer and has no possibility of accepting a more competent answer, which may come in later. What do you think?
I think let's have as few restrictions as possible. The 15 minutes time before the answer can be accepted has been implemented as a minimal sensible time for having a chance for some answers and evaluating them, see Time limit on accepting an answer.
If we extend it that time, we risk that users who got their answer don't return for accepting, leaving questions open. And it doesn't feel good if one notices that he is not allowed to accept a great answer yet. Looking at these drawbacks I don't see a need for making this restriction. As the OP gets notified of a new answer, he can check it and if he changes his mind accept the new answer instead. If somebody doesn't consider that, can I expect that he would return after 24 hours and then read the new answers and choose one to accept it?
Note, the accepted answer doesn't have to be the best one. It's the answer which helped the OP the most in his particular situation. The next one on the list could be the best or at least the most popular, as voted by the community. Reader should not stop after reading the top answer.
It's good if we voluntarily wait some time before accepting, as we agreed here: Should we wait a bit before accepting answers.