If you get paid via direct deposit then you almost certainly have many options for getting a free checking account regardless of what city you live in.
Maintaining ATM's and counting and transporting cash costs money, cash isn't free I don't know about US banks specifically.
What other fees? I've literally never paid a fee to my bank for anything. And it's a major bank (Chase).
Because the bank is buying Treasuries at ~1% or so and making money off of your deposits, and is likely only giving you 0% or maybe 0.05% interest.
If you've got $10,000 in the bank, that's basically a profit of $100 / year that the bank is getting from your account.
But that's not a "fee." Obviously banks cover their operating expenses somehow. That doesn't mean they charge me to have an account or to deposit cash (in fact, charging for deposits would be counterproductive).
They literally said "withdrawal fees."
I don't know of any bank which charges you to deposit cash. I occasionally drop off large stacks of cash and have them count it—there's never been an issue.