In the UK, you can send money to other people for free, even you and the person receiving the funds are with different banks.
Nothing is really free. The banks' networks and computers cost money to operate and someone somewhere is paying for it and the costs will eventually be passed back to you in one form or another.
It doesnt matter someone is paying for this. You can have free bank account and transaction fees. Those who dont put much time how to choose free bank account service, basically pays all the fees for you. The only downside is you still hold fiat, which is not transparent currency (no public ledger availabe) so creating money out of nothing is very likely by those who controls the ledger.
With Bitcoin, miners choose what fees are acceptable to include your transaction. But current tiny block size was set long ago, technology improved since then.