Your first two cases, I'm in the same boat as Renamed Exception. Regarding your third case, where the second person clarifies in comments and you then understand, I'd still accept the answer by the first person.
Particularly for that specific case, Marc's answer is effectively the answer you were looking for, only you weren't sure about some cases so naturally you'd ask. Then Barry comes along and answers your questions on those cases. It doesn't necessarily make Marc's answer incorrect, it's just a misunderstanding that needed to be clarified. Remember, he could have easily jumped in at any time and answered your questions directly but could have just chosen not to since others had already stepped in.
I do this sort of thing all the time on answers that I myself probably would have said, commenting to help augment the answers or help clear up any misunderstandings if I can. It's all there to help you (the asker) understand what was being said. Now had Barry answered separately with a more detailed answer (the kind you're looking for), then sure, accept it if you like as it answers your question better. But I wouldn't accept it if all he did was just answer your secondary questions in a separate answer and did nothing to address your original question.
In any case, I think it's important to understand the key points of the answer if there are any to be made. If you didn't understand it, then by all means, ask for clarification as you did there. If any answer has most significantly answers your question, then accept it. If there's a tie, consider what the community thinks is the better answer (the highest voted) and try to see why they think to help you decide. If that doesn't help, then you just choose a way to make the decision. Treat it like a race, award the first one to answer. Consider the answerer's history and use your acceptance as an award, either help the one who needs the help or agree with the one who has been consistently helpful. Just whatever you do, we all encourage you to accept something if your original question was answered. It helps you, the answerer and everyone else that might have the same questions in the future.