The same words can mean different jobs
Someone typing a phrase into a search box is trying to get something done. They might want to learn what a thing is, compare their options, buy something now, or reach a site they already know. Two people can type almost the same words for different reasons, and search engines rank the pages that best fit the reason, not the pages that repeat the words most often.
Google's SEO Starter Guide makes the same point in plainer terms: think about the words people use to look for what you offer, and build pages that are genuinely useful to them. Bing's guidelines say much the same.
Read the results page before you write
Search your target phrase in a private window and look at the top results before writing a word. What kind of pages are they: guides, product pages, comparisons, tools, videos? How long are they, and what do they cover that yours would not?
If the results are all product pages, a blog post will struggle, however good it is. If they are all how-to guides, a sales page will struggle. Match the type of page first, then do it better than what is there, with first-hand experience and specifics. Google's guidance on helpful content asks exactly that of a page.
One page for each intent
Do not ask one page to explain a topic and sell the product in the same breath. Give each intent its own page and link them together, so a reader who learns on one can buy on the next. Two pages chasing the same intent compete with each other; merge them. The Lab's application on building topic clusters that rank shows how to map pages to questions.
Check what Search Console says the page is for
Once a page is live, Search Console lists the searches it actually appears for. If those are not the searches you meant, either reshape the page for the intent it is being shown for, or write the page those searchers wanted and link it from this one.