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.
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).
Banks treat cash very carefully. If you bring in a stack of cash that they have to count once to see how much it is and then again to verify it's going to take time and they might charge you for that.