Fee income is completely legitimate. No business will provide services for free.
All legalities aside, you obviously can't see the main point, so let me repeat it.
IF THE MONEY IS NOT THERE, DON'T SPEND IT!!!!!
The original posting indicated that money was being spent before his wife was paid. Direct deposit is always initiated the day BEFORE payday to allow for processing. That's standard across the board and always has been.
If your payday is not until Friday, don't spend money on Wednesday and Thursday assuming that float time will cover you.
Think of it this way - if BB&T returned all insufficient items, the person would end up with fees from both the bank and the merchant and could even face criminal charges for writing bad checks.