How to work out which words to choose when optimizing your site for search engines? Once you have decided which words to use, you can buy advertising that will appear on search engine results when your key terms are typed. And you ensure that your copy contains these words (within reason - search engines are sophisticated enough to penalize sites that simply list all the likely terms). That should make it more likely that customers find your site in search engine results. But none of that is likely to be effective if you are choosing to describe your content using words that your customers don't use.
The excellent Marketing Sherpa have interesting results showing what SEO practitioners think works. Here's a chart, (reproduced with MarketingSherpa's permission) and from their series of Benchmark reports. Interesting that the most useful tactics may well be the easiest: analyse your server logs or usage stats service (e.g. Google Analytics) and any search function that you have on your site: