I like this site, FindABetterBank.com. It looks at where you live, the features you want, and your banking habits to suggest a checking account with the lowest fees.
For my preferences it spit out a list of about a dozen accounts with annual fees from $0 (ING Direct) to $334 (Citibank). Funny thing is, I currently bank with both these companies. The list of suggested banks tells me what percentage of my requested features each account has, how far away the nearest branch is and the number of locations within five miles.
The site is run by two guys who believed if it was easier to switch banks the best banks would win. FindABetterBank.com has a great FAQ page that tells you the site makes money – through fees collected from participating banks and credit unions. They say these fees do not influence their presentation of each bank, but more details about how they collect the fees would strengthen this argument. (Sites like this typically make money through referral fees when a person clicks through to a bank and opens an account.)
FindABetterBank.com updates their info every 3-6 months and currently includes 85 major banks across the country.