I have been charged NSF fees on a few occasions for reasons that make absolutely no sense. I have now opted out of the "overdraft privileges" that the bank extended to its customers earlier this year. It was a new scheme for them to make more money.
The first incident was a double charge that was no fault of mine. I had a pending charge (authorization on my cc for a bill) which was holding up funds. Then, when the charge actually went through, the authorization was still on hold. This double charge took my account negative and I was charged a fee when I did nothing wrong.
The second incident was on payday - of course. This new overdraft privilege allows you to use your card, whether there is money there or not. I get paid on Thursdays (well, it goes to my bank on Thursdays, but of course doesn't post till midnight.) I used my debit card on payday (since the pending money was reflected in my available balance.) The next day I never saw anything negative because my paycheck had went in and I assumed it all went in at the same time. A few days later, I saw a $125 NSF fee - and no charges that went through that day! I called the bank and even though online it shows the charges going through on Friday - they were pending on Thursday (along with a hefty paycheck that way more than covered them) so that took my account negative - even though it never went negative because all of the charges went in at the same time as the deposit.
I've since opted out of the overdraft privileges. I'd rather get my card declined because they decide to make money off my paycheck for a day than suffer fees because of it!