This is something about the US banking system that I find completely crazy. Other banks/companies can 'pull' money from your account. Where I come from, all bank transfers are 'push' as far as I'm aware. Ie. the sender of the money has to specifically authorize an amount to be sent. In the US it appears that in a lot of cases, the receiver of money can specify the amount they want to receive and simply pull it from the senders account.
Yeah, but Dwolla isn't a bank. And even if they were, just because someone sent me money a month ago doesn't mean their bank is entitled to some of what is now my money when they get overdrawn now.
ANY company can do this including your employer. A dogshit group of villans I used to work for pulled money from an employee's bank account that had been deposited from a paycheck because he took two weeks vacation to train for a new job. Was it legal? Almost certainly not, but it happened.
After this happened to my friend, I set up my deposit account as a sort of shell account where anything that enters gets transferred by the bank into a separate account.
My guess is convenience. If you had to authorize a certain amount then in some cases people wouldn't authorize the right amount which would cause exceptions. It's much easier to just write merchants a figurative blank check and chargeback in case of an error.