Stop banking with big banks. Go local. When my brother started his business, he moved all his banking to a local bank, one that had only one branch, which was downtown in his town. He's built a personal relationship with them, and the flexibility it's given him has paid off in spades over the year.
There's no reason to pay some megacorporation to treat you impersonally.
We bought a house last year in what was a moderately complex transaction. What we were trying to do was purchase a "new" home (it was actually 2 years old, but had been the model home in a neighborhood so it hadn't actually been lived in) and, at the same time, build a detached garage on the property. While this seems simple, actually doing this in a way that doesn't involve multiple loans is surprisingly complex.
In the end, it would be a low-risk, vanilla, 30 year conventional mortgage, and we had enough cash for a 20% down payment. It just required some complexity to set up.
Not surprisingly, most major banks wouldn't even try to help us once we explained what we were trying to do. It didn't fit any "profile" they had and the "system" was unable to let them continue. We lost count of the number of times we were told that a "system" prevented them from doing something.
So we went to a local bank - only one location, right in the middle of town. We sat down with an older guy who's probably been making loans in this town his entire life. The president of the bank came over and talked to us, and congratulated us on our coming addition to the family (my wife was 7 months' along at the time, so very clearly pregnant).
After talking with us for an hour or so, before having even filled out any paperwork or pulled any credit, they were confident they could help us. They were even more happy once credit had been pulled, and offered us rates lower than any of the big banks were offering at the time. What we ended up doing was writing a 4-month construction loan for the purchase price of the house plus the cost of constructing the garage. A few months later, when the garage was completed, we closed the loan and had a single mortgage for the whole property.
So after that experience, I've started recommending my friends and family stay away from big banks and work with local banks and credit unions. Big banks may be great for the convenience factor of having branches everywhere, but they fail hard when it comes time to do anything remotely out of the ordinary.
Cost. If I bank with a large bank I can use their network of ATMs for free. With a smaller bank I can't withdraw anywhere other than my branch without incurring a ridiculous $3-$5 charge.
Many credit unions are part of a large co-op with lots of no-fee ATMs all over the place ( http://co-opatm.org/ ). You can also deposit checks/cash at many of these ATMs. They may not be on every street corner like major banks are in some cities, but chances are there's one near you. Some of those credit unions will also reimburse all your ATM fees if you use your debit card a certain amount (for mine, it's 12 transactions per month).
Yes, credit unions are an excellent middle ground between mega banks and local small branch banks. Just use one that's part of a co-op and most people won't have any problem at all. YMMV.
My credit union, asides from having 20,000 fee-free ATM's across the U.S. just from other credit unions, has free withdrawals at Walgreen's and 7-11. I travel the U.S. quite a bit and haven't had to pay a fee yet. Might want to look into it.
I'd rather pay a well-known, well-understood charge for using the ATM than get charged secretly deeply hidden inside some kind of other fee. The people running these ATM's don't do that for free. How would it be possible that I could use their service for free? When I withdraw cash for free at an ATM, I feel more suspicious and more cheated than when they would charge me 50 cents for drawing 50 dollars or so.
There's no reason to pay some megacorporation to treat you impersonally.