The thing is, there are cases where deposits get delayed but automatic withdrawals go through as scheduled, so people are overdrawn by a few pounds/dollars often for a very short time yet are still charged a huge overdraft fee.
I don't know if other banks do this, but when I deposit a physical check into my account at Lloyds TSB, the amount shows up on my "account" balance within a few hours, but I can't actually access the money until the check clears a few days later, and the money appears in my "available" balance.
For example, if I've got £500 in the bank and I deposit a £1000 check, my "account" balance will read £1500 almost immediately, but the "available" balance will still be £500, and will stay at £500 until the check clears. I find this weird and confusing, but Lloyds says it's to my advantage because they start paying interest immediately.
At any rate, I got hit with overdraft fees when I first came over here because I'd deposited a check, looked at my balance a day or so later, and thought the check had cleared (the balance that appears on the first page when you access your accounts online is the "account" balance, not the "available" balance). Of course it hadn't cleared, so I wound up £15 into my unauthorized overdraft, and got hit with a £29 fee.
Now, as Mistress TL says, it was my own fault for not checking my "available" balance instead of my "account" balance, but I contended that this system of showing me two different amounts was confusing, and aside from that, the fee was nearly double the amount of the unauthorized overdraft, and should've been lower. Lloyds (of course) disagreed.
So, in short, banks suck.