The title pretty much sums it up. Should I change the accepted answer of my question if someone answers the question "better" or more extensively? Even though the accepted answer is right?
1 Answer
Well, technically you're allowed to accept any answer to your question that you want, and to change which answer is accepted as often as the system allows you to.
If you want to be a "good Stack Exchange citizen", you should be reasonably sure that the answer you accept is correct. Sometimes there are multiple correct answers. Which one you choose to accept is up to you; you might choose the clearest one, or the most complete one, or the most technically correct one, or the one that most closely matches what you asked, or whatever. So, yes you can unaccept an existing answer and accept a new one if you think the new answer deserves it more. But you don't have to. It's your call.
By the way, as a corollary to this, if you want to be a good SE citizen you should not accept an answer without being reasonably confident that it's correct. Sometimes that means you don't accept an answer at all, which is fine, e.g. if none of the answers seem to be correct or even if they might be correct but you are not reasonably confident in that.