Sometimes, I am not satisfied with the answers that I get, though some are very good. Do I have to accept an answer or can I just leave the question open?
Nobody is forcing you to accept an answer; it would be polite if there is something "useful enough", but... if you want better answers, try:
- improving the question (clarify any ambiguities; explain why the existing answers don't help)
- add a bounty to get more attention
- if you built upon the existing answers but added some additional code/detail/etc that made it work, then post that as an answer, and accept it when you can (I think you need to wait a few days to accept you own answer)
Note that if you add a bounty this will force it to accept an answer in 1 week's time...
No, you don't have to accept any answer if it doesn't solve your problem.
You could edit your original question to update what you've tested and tried and why your problem still persists.
Hopefully the people answering will update their attempts or new answers will come in that will solve your problem and you would be able to click on the tick.
I think you could edit your question to indicate that you like a particular answer, but use the edit to indicate why it's not complete. That way, it leaves future readers with an understanding about what's going on.
Personally, I find unanswered questions frustrating, because I feel like there's an underlying problem with even the most popular answers if they weren't picked as the one.
On the other hand, I'd like an "honourable mention" category for answers that are worthy, but not quite there.