Well if you’re my utility company and you want me to pay you, you send me the information I will need to deposit money in your bank account. I go to my bank and transfer money there. You get notified when it arrives. The technical name for this in English is giro transfer.
Now stop and think about how many problems this solves. I never hand out my bank details to anyone. You never have to deal with a bounced check. There is no possibility of anything like a kiting scheme. And the only practical change is that instead of my giving you information that can be used to draw from my account, you give me enough information to put money into your account.
The moral is that checking systems are fundamentally flawed. The design of a giro transfer system is fundamentally sound. Unfortunately tradition is set so that checks are here for a while to come. And people are honest enough that the problems don’t generally rise to the point that would make people object. Sure, the security problems are obvious when you think about it. But as always when people aren’t being bitten by the problems, people forget about the security implications.