Some cities have municipal internet service, which they are able to provide at a much, much lower rate than commercial options. Here's one example of a resident in Lafayette, La. They would on average pay $73.10 annually on the municipal network, versus $690.87 annually on a private network. The same article also shows much lower average rates for commercial networks when they have to compete with public services.
So yeah, it's just greed.
No, there's a US law now where they have to allow you to opt out of overdraft "protection". They just decline the transaction but don't charge you any fees.