Is there any established etiquette as far as accepting answers? In particular, if there is a correct answer posted, are there any guidelines for how long one should wait before accepting? Similarly, is there a length of time beyond which it would be frowned upon if an answer was not accepted, given that there are satisfactory answer(s)?
I think it depends on the question (and on the answer). If the question is "what's wrong with the following calculation?" and the answer is "in the 17th line, you wrote $2+2=3$," then you smack your forehead and accept the answer right away. You're not going to get a better answer, and the people who are dissuaded from looking at your question will not be missing much.
If you do decide to wait a few days before accepting an answer, I think it's polite to leave some comment to show what you're doing, lest it seem that you have abandoned the question. For example, you might try to explain what you're looking for in an answer beyond what's already been provided. More than once I've left a comment on a question along the lines of "you've had four good answers, and two days to think about them, and you haven't raised any objections, and you haven't accepted an answer - what's up?" Maybe I'm just a hothead, but I suspect more than a few people agree with me, they just aren't as rude as I am.
Having said all that, I do agree with Qiaochu's bullet points.
It is good practice to wait a few days, for the following reasons:
- People are less likely to look at a question with an accepted answer. Delaying acceptance means that more people will see the question, hence contribute votes or new answers.
- People are less likely to answer a question with an accepted answer. More answers means you may get a better perspective on the question and/or a correction to an answer that you were originally going to accept.