Google Keyword tool is the best freebie out there.
Been using keyword elite recently and I like it - lots of spam/irrelevant kw, but the tool lets you filter out phrases which is a great exercise because it forces you to go through your list and you can start to put your KW into relevant groups as you're doing that and add obvious KW manually as you go as well.