For example if 2 users answered my questioned, and both of them helped me, and both give useful but different answers, what should I do?
No. You can vote for both but there can only be one...
... accepted answer. If you're really stuck, and both do the same thing (or roughly), and you can't pick a technical benefit of one over the other, or even the quality of the writing, give it to the post (hover over the time eg "45 mins ago" for a precise version).
But it's really up to you.
I think it should be mark question and not mark this answer as solved.
Because its the question thats being solved. and on marking the question as solved, the answerer would not get any bounty;
But bounty would be awarded on upvoting an answer.
This could help in 2 ways-
If a question was answered correctly by 2 different people, then marking only 1 as correct is unjust, however one could upvote both the answers, which would be fairer.
Marking an answer as solved may discourage other users from posting an answer once an answer has been marked as solved.
Thats my humble opinion.