If there is one thing I learned from obsessing over Stack Overflow, it's how to find solutions. Soon I will have answered over 900 questions and this number will keep going up. This is not to say it is a lot, many users have much more quality answers. But If you have done anything over a 1000 times then you had the chance to screw up a lot. Screwing up is synonym to getting experience here.
Sometimes you look for an answer everywhere on the web. You google, you search on Stack Overflow, you browse forums, you scout the dark corners of interwebs only to come back to square one. This is fine. It is the first step in finding a solution. This step is called research. Most of the time, if someone published the fix on the Internet, research is all you need to find an answer.
But other times, your problem is unique enough that the only way to find something is to ask a question online. Let's assume it's a programming issue and Stack Overflow is the place to ask. You did the research and it didn't help. Now the second step could be the way you will get your answer.
It's amazing how much you find you don't know when you try to explain something in detail to someone else. It can start a whole new process of discovery.” — Jon Skeet
Write down your question with with as much details as possible. Make it clear, as if you are trying to explain it to a child. This could be very hard. Makes you understand that sometimes you are not finding a solution because you don't understand the problem. This is fine. This is something I did a lot when using Stack Overflow. I search everywhere and can't find an answer then I try to write it and it is even more difficult to explain it. So I take my time, organize my thoughts, trace my errors step by step, document it, explain how it can be reproduced. Everything becomes clearer when it is organized.
More often then not, I end up not posting my question. By trying to explain my problem, I find the solution. I only post those questions if I think someone else can benefit from it.
A not so clear question.
Here is what the founder of Stack Overflow has to say about it:
I have a confession to make: in a way, I founded Stack Overflow to trick my fellow programmers.
Writing down your problem forces you to explain it in greater details. The more you clarify it, the better your chances of solving it, the better your chances of finding someone to help you find a solution.
It is not that I am so smart. It's just that I stay with problems longer.” — Albert Einstein.