There should be 2 account numbers for each checking (or savings) account. One should only allow deposits, while the other will allow both withdrawal and deposits. The reason for this is that today when you associate a checking account with another bank or another financial institution, you might not want them to have the ability to withdraw from that account, which currently I don’t see any barrier besides the fact they can only withdraw up to your balance. That’s a lot of trust to put into some financial institutions, especially when identity theft has been such a big problem.
Personally I never transfer money from my checking account to Paypal, only the other way around. However, since my checking account is linked to Paypal, they can on the whim decide that I broke some rule and withdraw money from my checking account without my consent (no, this did not happen to me, but I’ve heard it happening to others).
This also avoids mistakenly withdrawing from an account that you did not want to. I’ve personally done that multiple times. Once I switch the source/destination and had the money go in the opposite direction. Often times, due to how Paypal is structured, I would accidentally pay via my bank account instead of my credit card.
I currently solve this today by only having minimal money in accounts which I only expect deposits and not withdrawals. I have another checking account which I use to pay all my bills etc.
However, I think this can all be solved if financial institutions decide on giving you 2 account numbers, one as I stated earlier should only be deposit only. That way even if someone gets ahold of this number, they can’t do much damage.