Regarding your key words. You raise a good question. Here is how I would do it when it comes to not wanting to repeat the keywords too much: coffee cup, html editor, shopping cart pro, music jukebox, etc.
In this case instead of repeating coffee cup, i set it off to its own "phrase keyword", then set the individual programs by themselves. This I believe answers another question you had related to how the search will index your keywords when someone searches for you. In an ideal world if someone puts in your keywords you they will get your site, but it doesnt happen this way. So your goal is to raise your probability that they will get your site. There is a whole science to keyword development. What you want to do is research your keywords very carefully, instead of just placing them in there. Here is an example of why:
You decided that because you sell the CC html editor you want to place that keyword in your meta information. However, Google knows (because its the search engine) that when people want html editors they are not typing in "html editor", instead they are typing in "web design html editor". This is where research comes in. In order for you to compete for the search market you have to know how people are searching for items like yours. Take a look at Google web master tools.
Hope this helps.
My Web Development Company: http://www.innovatewebdevelopment.com (Created with Coffee Cup Software).
My Personal Website: http://www.EricSEnglish.com