It depends on the type of ite that you are trying to build, for Adsense sites "general" keywords may work fine, but you need greater volumes and of course to be able to rank for them. If you want to make an ultra-targetted site, you don't need as much volume, but you will need it to be a clearly buyer's keyword (like "sony xxxxxxx tv review"), for instance. In any case, my advise is to not think of a keyword, but a set of related keywords. It will be really really hard to make much oney out of a single keyword, unless you are able to rank #1 for a massive keyword and they are usually very competitive. It's much easier to rank high for 10 smaller related keywords.
You can use Google Adword tool to choose the best keywords for your niche. Choose only high hits and low competitive keywords then start writing content according those keywords. Its the best practice ever I find.
I agree with Mikel. I think going for the longer keyword is a great idea. For example "Books" would not be a good keyword it is too general and to get that keyword might be impossible. But, if your keyword was "Books for kids who can't read too good" I think you could capture that one. Plus you know people are looking for easy books.
I wouldn't worry about monthly searches too much. Weather you use googles keyword tool or some other tool. The searches per month are just estimates. Depending on what your site is about I would look at competition of the keyword and if the keyword is relevant to what your site is about.
first read your content. what you want actually promote in a page.then select 2 or 3 keywords which represent you content.then use these keywords in google adwords keywords tool or any other tool.check the competition and visitor on particular keywords. select long tail keywords with medium competition and high volume of visitors