I think that it is a fine line between finding a keyword that has a high cost per click, but also not too hard to rank for. For example, "lawyer" has a very high CPC, but good luck trying to rank for that
Insurance and Medical sites can make good money from Google Adsense as they are high paying keywords.