The Proper Perspective
Over the years, I've noticed that the quality of the lists I get back tend to vary wildly. Sometimes, I get lists of vendors or product names of items being sold on the website. Other times I get lists of terms related to the technical aspects of the items, such as ingredients or parts lists.
Perhaps the most important advice I can give regarding keywords is to think about it from your customer's perspective. The whole purpose of picking keywords is to enable your customers to find your website, so it only makes sense to pick words and phrases that are of importance to them.
For example, if you sell little green pills that relieve pain, the term Ibuprofen might seem like a good choice, and it may get you a few hits. However if you think about it from the customers point of view - they're not searching for Ibuprofen, they're actually searching for headache medicine or pain relievers, both of which would likely be more effective keyword choices.
Another downside of technical terms like Ibuprofen is that they are prone to misspellings. Although search engines are getting better at dealing with misspellings (You typed Ibuprophen, did you mean Ibuprofen?), it still makes your site harder to find. Of course, if there's one common misspelling of an important keyword, it may worthwhile to make a second version of a particular page and purposely misspell the keyword as a means of gaining that traffic.
Another important consideration in certain cases is geography. For example, if you're an interior designer in Hartford, it doesn't do much good to be found by users in Seattle. In this instance, your keywords should be qualified with a geographical reference - Hartford interior designers or interior designers in Connecticut. Just be sure not to restrict your choices too much. It's obviously better to have too much traffic than too little.
Unfortunately, finding the perfect keywords, and website optimization techniques are an inexact science at best. There are tools available on the web (WordTracker, WebCEO, Google, etc.) to assist in the effort, but they can be difficult to learn and the process takes time. Furthermore, it's an on-going process. Even after you've achieved page one on Google, the process must continue as your competition strives to overtake you.
As a result of this iterative process, search engine optimization tends to be rather expensive to the small business owner. This leads many to forego the process and to rely on common sense and business savvy in picking keywords and phrases for their website. This approach can be effective if it's combined with good text content, that is written from the customer's perspective.

