To add to Willie Wong's answer, let me point out that it is probably good practice for most question not to accept an answer "after some minutes", but rather to let the question stand for a while, even if you get an answer that satisfies you.
There are several reasons for this; one is the one you observed: you may get a better answer. Another is that having an accepted answer does, to some extent, discourage (some?) people from answering the question (especially, from spending a lot of time writing an answer). It gives the question the air of being "settled". So keeping the question without an accepted answer in effect "invites" other answers from other points of view.
And it might be nice to give everyone a chance at the question, by letting, say, a day or so go by before accepting (perhaps longer if over the weekend).
There are exceptions, of course: requests for references or for definitions, which likely have a unique answer, can be marked as accepted as soon as the appropriate references/definition is given. But for others, I would recommend waiting at least a couple of hours, if not a full day, before accepting an answer.