What are keywords and keyphrases?
Keywords and keyphrases are the search terms that users of search engines will type in to search for your site. So if you sell novelty socks in London then relevant keywords and keyphrases could be "socks", "novelty socks", "buy socks in London", "novelty socks UK" etc. The core principle of search engine optimization is to tell the search engine what your site is about. If your site is about novelty socks in London then you need to use the relevant keyphrases throughout the site, including in key places like page titles, text in the main page copy and links between pages.
How do I choose which keywords to optimize for?
More competitive keywords are more difficult to optimize for. More competitive means that there are a lot of other sites also competing to make their site rank well for that keyword. The most competitive keywords often relate to things you can buy commonly online, like hotel rooms, property, gifts and ringtones. As you make your keyphrase more targeted, it becomes less competitive. So "novelty socks in London" is less competitive than "novelty socks" because there are fewer sites optimizing for that keyphrase.
There are several ways of finding out how competitive a keyphrase is. The simplest and crudest way is to do a search on Google for the phrase and count the number of results. Broadly speaking, the number of results corresponds to the competitiveness of the keyphrase. The caveat to this is that there might be only a few sites for a niche product, but they might all be sites that have been explicitly optimised for that keyphrase. Another way of assessing competitiveness of a keyphrase is to use the Overture Keyword Selector Tool. You can search for this in Google. This tool gives you an approximate figure for the number of times a keyphrase is typed into the Overture search engine and also gives you related phrases and how often they are searched for. The more searches there are, the more competitive the phrase is.
If you have only just started your site, optimizing for a highly competitive keyphrase will be unsuccessful as you will never get up into the top results when other sites with more content, more incoming links and better optimization are already there. So at first, you should focus on some less competitive keyphrases whilst you build up the size and profile of your site. Once you are bigger, have more content and more incoming links, you can develop your site to optimize for some more competitive keyphrases.
You should also consider the market you are trying to target. If you can only sell your product in the local area, there is little point in optimizing for a keyphrase that will get you traffic from all over the world. Only targeted traffic converts into sales.