Tell me if this scenario sounds familiar:
You deposit your paycheck into your account. The check is drawn on a major bank; however, for some reason, your bank doesn't feel like cashing it for a week or so. When they finally do credit your account, your rent check (which was presented a week after your paycheck) appears to bounce because your paycheck still hasn't been credited to your account. Your bank covers the rent check, but hits you with a $25 (or $35 or $50) fine for insufficient funds, even though they've basically been holding onto your money for a week.
Maybe this has never happened to you. Perhaps you have direct deposit or bank at the same company that handles your paycheck. Still, chances are that you've been hit with a questionable or extravagant fine from time to time. If nothing else, you may have simply withdrawn money from an ATM that isn't owned by your bank, leaving you with a $2-3 fee from the ATM and another buck or two from your bank. A few moments later, and $3-5 lighter, you find yourself wondering why, exactly, the bank needs to charge you so much for a measly $20.