I have used a bounty only once, and it was specifically designed so that other people working on plotting SO via code_swarm would dust off their code and post it. Three people did, and now there's usable code to make the videos happen, see this question.
I probably would not post a bounty if it was obvious that nobody had an answer to my question. I'd only post a bounty if I need sample code, or need someone to hold my hand a bit in comments while I try what they suggest.
People on SO like answering questions if they have the knowledge to do so. If all you see is tumble weed after a few weeks, there's a very good chance that nobody feels confident enough to offer you an answer.
So, posting a bounty in such a cirsumstance will do one of three things:
- Cause someone to spend an hour researching it and give you a good answer
- Cause someone to give you an answer that they're not sure of
- End up automatically giving the bounty to an existing dubious answer, if its the highest rated one.
For instance, I really want to know where glibc does its PID caching in TLS (down to the relavent chunk of assembly) .. but that's a question best suited for the glibc developers, not SO.
99.95% of those who ask questions on SO will have a good experience, I think that's pretty admirable. With bounties, that number becomes 99.99 .. I don't think there could be a 100% perfect system.