Sometime I'm in situations where I'm not 100% sure of my answer:

1. Let's say a user asks for the best lib to do X. I know that the lib A is great because I've heard people telling me that it is. Should I tell "use lib A" or "I've heard that lib A", or should I just leave people who actually used lib A answer (there might be none around) ?

2. A user asks about "how to do X". I do a search for that on google because I have a vague idea of how to do it but need more info to be more helpful. I end up finding something that looks really cool, but I have no clue if this really works. Should I tell the OP about it like "There is this solution A that looks great, but I haven't tested it." or should I just not answer the question if I have nothing better to provide ?

3. Sometime the OP is not specific enough in his question and people answer it by making some assumptions. Then the question can get edited and then the answer that was possibly correct might become totally wrong and get downvoted into oblivion. Should the user have waited for the OP to edit his answer (which might not happen and is hard to keep track of if you have no anwsered to the question in the first place)?

There is no perfect answer for all this, but I'd like to see you guys' opinion and how other SO users behave.

Personally, I try to avoid guessing or making assumptions. If I do, it is because I think it might be a good pointer for the OP, but then I always state in my answer that I'm not 100% sure that my answer is correct and that it requires some reading up.

-
I guess you should –  Rich Seller Sep 8 '09 at 17:38
You know what they say about ASSumptions... –  Troggy Sep 8 '09 at 18:38

Just be honest. If you aren't 100% sure, say so. If you're totally guessing or assuming what the OP meant, say so. Full disclosure is best.

-

You can post your google'd or heresay answer, but be aware that it may not do so well if someone with real experience shows up and writes about it. If that happens, consider removing your answer in deference to the better one... but don't feel reluctant to share what little you do know, even if it isn't first-hand: it may be the only answer the questioner gets... or needs!

-
+1 -- sometimes a little momentum in a different direction is all someone really needs. –  Austin Salonen Sep 8 '09 at 19:01

When guessing, especially in the first two cases, the main question to ask is: Is this answer likely to be helpful?

If the asker just asked something a minute ago, and you aren't sure of your answer, then I usually don't post just yet. Not only might you be giving a wrong answer, but your wrong answer will probably be seen by others who know the right answer and you will get downvoted. Not only have you not helped the OP, but you've lost some rep. (This disincentive is by design).

On the other hand, if it's been some time (maybe an hour or so, depending on the topic and the site traffic at that time), I think it's perfectly acceptable to offer a qualified answer that you aren't sure of. Just explain that you aren't sure of the answer and why, but that you hope your answer might be helpful nonetheless. Usually the OP is appreciative of the gesture when they've gone for a long time without a good answer. And who knows, you might have exactly what they were looking for.

Overall, of course, you have to go with your gut in knowing whether your guess is "good enough" to post, or if there's just too much doubt.

-
1. If the question is unclear, I state explicitly how I am interpreting it ("Assuming that by Foo you mean Bar, ..."). When you guess right you generally get some love. When you guess wrong, people cut you some slack because you said that you had to assume a case (that turns out to be counterfactual).

2. I don't write "I've been told that..." answers unless a considerable length of time has passed without a more expert answer being provided. Rarely generates any votes, in any case.

3. I will google up answers if (1) I have part of the fact base to answer the question and (2) I want to know myself. This is rarely fast enough for StackOverflow unless the question is in an obscure tag ([latex] is where this works for me).

-

I have guessed twice, stated that I've guessed and been downvoted both times for being wrong, thus ending with fewer points. I won't be guessing again!

-