US banking is notoriously sloppy about allowing withdrawals with just knowledge of routing number and bank account number, while every check written contains both numbers -- in Europe, the bank account number can only be used to transfer money to the account (and checks practically don't exist).
One day out of the blue, some hundreds of dollars were transferred out of my American bank account, seeming to claim purchases in a city several hours away. I didn't authorize such transactions. They were direct debits of my account, not credit card charges. A few days later, my money was returned. How was that possible? Why did the bank agree to transfer money out of my account?
All the way back in the 90s, my European bank gave me a one-time codebook, to be used in addition to username and password to authenticate online transfers. Whenever I was close to running out of codes, they gave me a new codebook. Managing to steal my password wouldn't have let an attacker easily empty my account.
My European bank in a small city, that I had been a customer of for decades, and whose employee that I was interacting with being a family friend, verified my passport before discussing a loan.