Don't give up easily! Search and read the search results and search again and document your research, so that when that last choice of asking a new question comes you can demonstrate your research. In particular, if you are worried that your topic of interest is hidden by more popular but less specific sites, add more specific keywords (like programming languages, frameworks) or try to eliminate from the search results ("-" for google) the popular topics that you are not interested in.
Read about the topic in general/broaden your research. The more you know about the topic in general, the better you will be able to search. You will get more keywords right, you will give better context.
Ask people in chat (for the target stackexchange) if they can help you formulate useful search terms.
Take a step back. Maybe the question is so difficult to formulate because it's still a bit too unclear or too broad. It may need details or focus. Can you divide the question into smaller steps? If so, do that and search for sub-steps.
Finally, if everything else fails, ask that question, demonstrate your research and if it gets closed as duplicate - you get an answer and it may additionally serve as a search target for others. I wouldn't downvote a question that demonstrates that much effort, i.e. shows search effort and background knowledge, just for being a duplicate.
Personal anecdote: One or two questions I had fully formulated in the "ask question editor" and only then I got the keywords right, searched one last time, found a solution (on a stackexchange) and clicked cancel.
For completeness also a summary of search hints from the comments below this question by πάντα ῥεῖ, rene and Rob.
- just use essential keywords in the right order of relevance in searches and give them specific context
- prefix your search in google using
site:<my preferred se site>.com
- with the internal SE search engine use the code parameter to search for keywords only in code sections example
- try to use correct terminology, use a category or quotation marks to specify an example that describes your situation
- also read What is the XY problem? and How to ask a smart question