Keyword research is the cornerstone of SEO, without good keyword research, your chances of a well optimized website are pretty slim. Keyword research is no longer just for a long list of terms in your keyword tag, but from an optimization standpoint, it will dictate the wording of most of your websites content.
Understanding keyword research and development begins with understanding how your clientele use the search engines. First of all you should brainstorm with a pencil and paper and come up with 5-10 "major" keywords that best describe your website, these should be one or two word phrases, like "web design" or "SEO". These 5-10 keywords will be the backbone of your keyword development strategy.
Core Terms
Now, using the 5-10 "major" keywords you should expand them to 2-4 word phrases, try to get about 10-20 of these. These "core terms" will not cover all of the searches people use to get to your sit, but they will cover about 60% of them. Try to keep some sort of organization with the core terms under the major keywords, when doing keyword research organization is very important. I use diagrams to show the relationship between keywords to make sure they overlap and cover every topic on the site I am optimizing.
Singulars and Plurals
Search engines can't discern between singular and plural versions of a word (yet?), so you need to account for all the people who search for "concert ticket" and those who search for "concert tickets". Keep in mind some singulars and plurals are not as important as others, like "shoe" and "shoes".
Stemming and Misspellings
Stemming and misspellings are a major pain, but let's face it, most of us either don't look when we type, or are bad spellers. I put these two into the same category because they are the "real world" problems you will encounter when optimizing your keyword selection and usage.
Stemming involves words with a suffix, like "web design" and "web designer". Stemming can include all the "-ing, -ed, -er" versions of your keywords. When you write your optimized content for your web site, try to use as many versions of your keywords as possible to cover all the potential searches.
A couple of tips to discovering misspellings are to type the word phonetically, leave out letters, or use letters next to it on the keyboard.
Stop Words
Stop words are common usage words like "a, and, the", there are hundreds of stop words, so just use your head when you look for them. Try not to use stop words in places like title tags and heading tags.
Related Terms
The last step in brainstorming is finding related terms. Related terms are keyword phrases that are closely related to your website, but not exactly what your site is about. Optimizing your related terms will help with your offsite optimization efforts like link popularity and link relevance.
The next phase will deal with finding important keywords you didn't find in the brainstorming process, and refining your list of keywords.