Finding keywords is a lot of fun, I use Google keyword tool (make sure you are logged in), Seobook keyword tool, and competition meta extraction dump analysis (see my post here)
I keep writing everything down, as I find more keyword ideas, chances are my list will be full of duplicates. I use an online app by techmechanic (link) to remove the dupes, all you do is paste your draft keyword list, then press remove duplicates.
After that is done, I paste my list into Google keyword tool, to check which ones are worthy. Depending on the niche, the amount of [exact] searches you want will differ. I like to find keywords that are anywhere from 5000-100,000 searches local (in USA) per month.
Next step is to check competition for the top keywords, I do this by entering in google using ” ” my keywords one by one, then I note down the total results found.
I enter everything into an excel, and in the end I divide my total searches per month (local) by the total results found, to get a number, and then I sort this in ascending order. The keyword that has the least amount of competition and the most searches gets the highest value, thus that is the winner I go with.