People do not have bank accounts as a rule because they were quite often lured by promises of "free checking" and then the banks changed the rules on them and fined them with huge overdraft fees. One example is that the bank claims that all checks need 15 days to clear, when they generally only need three.
Banks do all sorts of sneaky crap to hit small depositors with huge fees: $35 overdraft fee for a $10 check when the balance was $9.99. That sort of thing.
It could be that some people have no accounts to avoid detection of having income, but mostly, it is because of having been cheated by some bank.