Keywords are the words or terms that we type in when we are searching for any products, services, and answers on the search engines like goggle, yahoo etc... so if you need your page listed in the search engines result, you need to assign keywords to your pages.
The implications for a business of picking the right keywords are therefore huge.
How one should define these keywords?
The basic rule one should keep in mind while selecting the keywords is relevancy of the keywords with the content on that page, as now search engines not only look at the keywords but also at the contents that goes along with them.
Words should be single words or phrases?
There are no rules but generally nobody searches for single keywords.
Lengthening your keyword into a keyword phrase, such as web development, or maybe even php web development you significantly narrow the field of competitive websites, which allows your page to rise higher in Search results for that phrase.
Number of Keywords?
Theres no hard and fast answer. The number can be as low as 1 and as high as 15 (maybe 20).
Repetition of Keywords?
Repetition is just fine, as long as the meaning of the phrase as a whole is sufficiently varied.
Do not try to add popular keywords in your keywords list which are not relevant to your content for the sake of boosting your page rank, though it works some times, but the result is the visiting user does not get what he is looking for and you lose a prospective client .
Also do not compromise your articles for the sake of keyword density, if your customers get to your website and read a poorly written article, this may hamper your business image and you may lose your client
In short honesty is the best policy, follow the rules and wait for the results....