Instead we depend on forms of payment which have latency measured in days (checks, direct deposit) and we process debit card transactions on a delay of hours to days. If you are playing close to $0 it's very easy to make a mistake and then fall below $0. The bank has effectively trusted you not to do this, and you did it, so they charge you a fee as punishment. Except you have less than $0, you can't pay the fee.
If you do this, then your bank might close your account and put you on the ChexSystems blacklist, which will prevent you from getting any new accounts for a few years.
AFAIK ChexSystems blacklisting is pretty much the only reason to be unbanked (except by choice as a form of protest, I guess?) Simply doing proper OLTP would eliminate the weird artifact that is overdraft and entirely sidestep the problem of unbanked people.