You definitely should begin from Google Keyword Tool to find keywords variations and to see their prices and competition.
As for keywords difficulty, (i. e. "keyword competition") you should consider that the higher is the keyword difficulty, the harder it is to rank on the 1st SERP due to a high competition of the ranking websites. So you need to find a balance between not using highly competitive keywords (which would be a mistake) and using only them without any additional long/low competitive keywords (which would make it extremelly expensive to promote your site).
About keyword density: as far as I know, there couldn't be 100% working advise, since Search Engines constantly changing their algotithms. I assume you just need your content to be comfortly readable by humans, and the robots will count it positively sooner or later.
You may also use an online keyword density checker or special keyword density tool which I think you could easily find yourself (I don't use any of them so can't give a hint).