It’s clearly not that. There must be some subtlety we’re missing.
Making the banks themselves responsible for promptly replacing any stolen money makes them very interested in preventing it.
The problem in the USA is the customer has essentially no recourse to their own bank if that bank processes an ACH withdrawal (pull payment) that the customer did not authorize. The bank is 100% absolutely not responsible for the consequential damages like other bounced payments, late fees, interest, credit report dings, etc.
Change the law so your US-based bank is strictly liable for 100% of that stuff and very quickly it will cease to be a problem. They will move heaven and earth to make it not happen once it’s their problem, not yours, when it does.
Aside: The now-obligatory post 1/20/25 caveat applies: this assumes a functioning non-corrupt government.
And has been for a long time, I’m a 57 year old German and have never written a check in my life, even before online banking. It all works flawlessly by bank transfers and IBANs like @Mops explained, before online banking it just worked with written confirmations (you can still do that, many elderly people do).
ETA: this system is also why I never understood the need for a credit card and never had one. Why pay interest for payments that can be easily and instantly done with my debit card?
I have never tried it; my supposition is that if I claim I have not authorised the other party, and that other party then produces the authorisation, the charge reversal is reversed again, the bank bills their costs to me, and the other party might file a criminal complaint for fraud.
So the other party has some authorization from you - that wasn’t clear to me.

Why pay interest for payments that can be easily and instantly done with my debit card?
Because credit cards don’t work like you think.
Instead, you pay no interest and in fact get an interest free loan of 30 to 60 days on everything you purchase. This much is true worldwide.
Further, in the USA specifically, the consumer / customer fraud protections are vastly better for credit cards than for debit cards. For a debit card, a screwed up or fraudulent transaction can utterly f-up all your monthly finances. For a credit card that is effectively impossible.
In Ireland, I can make a payment to any bank account using my online banking (website or app). If someone wants to receive a payment from me, they can give me their bank account details and I can set them up as a payee in my online banking and make a payment.
If I have someone’s bank account details, this does not enable me to take money from their account. This seems obvious to me but is clearly not obvious to people used to the American system. I’m a bit surprised by this - why would people think that knowing someone’s bank account number would allow me to withdraw or spend their money?
I use online transfers a lot for moving money between various household accounts (current, joint, savings, wife’s, broker, etc.) This is all done directly within the app and with no fee.

Why pay interest for payments that can be easily and instantly done with my debit card?
Also, they are good for transactions where some large amount is going to be “held” pending the actual charges being finalized. For example , hotel rooms, rental cars, cruises , even gas purchases involve a hold. ( when I start pumping, no one knows if it will be $20 or $75) If a cruise ship puts a $2000 authorization on my credit card and I only actually spend $300, it’s not as big a deal as if it was a debit card and I needed some of that extra $1700 so my car payment goes through.

Instead, you pay no interest and in fact get an interest free loan of 30 to 60 days on everything you purchase. This much is true worldwide.
Then how do the banks make profit from credit cards? Are there fees? Then it would be the same as with debit cards.
They charge interest when you carry a balance. If I pay the entire balance every month, there’s no interest.

They charge interest when you carry a balance
Ah, I see, And I suspect that the banks expect many of their customers to carry a balance, and that’s how they profit.

I get that there’s no need for a 3rd party like Zelle
Personally, I don’t think of Zelle as a real third party. It’s integrated with my banking app (allegedly, this is true of 80% of the US) and basically replaced the tiny number of remaining uses I had for checks.
Maybe the banking system is backwards behind the scenes, but as a practical matter it’s as convenient as it’s possible to get. Usually that means tap-to-pay with a credit card but for personal transactions or payments to small businesses I can pay via Zelle to a QR code.

And if any Americans want to feel particularly bad, then I’ll say China is way ahead on all these methods. Everything is done through QR codes or apps.
Is there something meaningfully different about what they’re doing vs. me opening up my bank app, hitting pay, scanning their QR code, and punching in the payment?
About the only thing that would make it easier is if the QR code was dynamic and included the total, so I wouldn’t have to type that in myself. But it doesn’t sound like that’s what they’re doing in China.
Regardless, almost everyone takes credit cards these days. The smallest scale businesses I frequent are food trucks, and 90% of them take credit cards via Square. The rest accept Zelle/Venmo, with works like I described.
They also charge fees to the merchant, somewhere in the 2-5% range. Hence why many prefer cash.
ETA: mostly ninja’ed, but here’s pretty much the whole story in one place …

Then how do the banks make profit from credit cards? customers Are there fees? Then it would be the same as with debit cards.
Simplifying mightily …
The banks charge the merchant to take your card. If the goods cost $100, I get charged $100, but the CC company only pays the merchant $97 & keeps the $3 as their cut.
The merchant grumbles, but finds it worthwhile since they do so much more business by card than by cash. IOW, if they don’t take my card I don’t pay cash. Instead I go elsewhere.
The other thing is the banks are banking on many consumers spending more than they can afford. If you pay all your charges every month, there is no interest. But if you don’t, either because you’re a disorganized dingbat or you bought more than you can afford, then they charge the customer an insane rate of interest and fees. Month after month after month. The CC companies are really pushers selling highly addictive credit and hoping like hell you get hooked. That’s where their big money is; the fees are noise.
The above system has been in place from the dawn of consumer credit in the early 1960s until a few years ago when cracks began appearing in the foundations.
Now this is all shifting as we speak. All the above is still true, but now in addition customers pay an annual fee to obtain a card. Maybe nominal, maybe significant. And many merchants are now passing their credit card fees to the customer. I.e. from my first example … The price of a purchase is $100. The customer can pay $100 in cash. Or charge it to a credit card, but the merchant will bump the price to $103. Then the CC company shorts them $3 when they pay, so the merchant ends up with $100 cash or credit, the CC company gets $3, But I’m the guy who paid $3 for the dubious privilege of using my card. Instead of the merchant paying like before.
Here in the USA, debit card fees work similarly but are not as large.
But, in this thread, there are examples of giving the utility company your IBAN and setting up autopay, meaning they can withdraw an arbitrary amount given your IBAN.
That’s fine for a utility company that, hopefully, has a secure system. But how does the craftsman stop me from pulling money instead of giving him money.

Is there something meaningfully different about what they’re doing vs. me opening up my bank app, hitting pay, scanning their QR code, and punching in the payment?
About the only thing that would make it easier is if the QR code was dynamic and included the total, so I wouldn’t have to type that in myself. But it doesn’t sound like that’s what they’re doing in China.
It is. Or rather, it depends what scenario we’re talking about here.
Let’s say I have a physical utility bill. I scan the code, accept, and it’s paid; I didn’t even need to open my bank app because banking is tightly coupled to my sim number.
(The downside to this is that it’s a PITA to get a new sim card in china)
The same with checking on my utility bills’ status and doing things like setting up automatic bill payments. Unlock my phone, do it. I don’t need to go into any app.
The example I was trying to give was just about how vendors can basically set up cashless payments for free. A random fruit seller in a village prints his own QR code (or shows it on his phone if he doesn’t even know a place that prints). You’d scan the code and in that case need to key in the value. You still don’t need to go into your bank app.
My last couple years in China I never touched my bank card. Nobody uses cards or cash let alone checks. (ok probably not “nobody”, but you can go a long time without seeing them)

The example I was trying to give was just about how vendors can basically set up cashless payments for free.
Right, but that’s the case here too. They just need a bank account. If I want to pay them I just punch in their phone number or scan a code. There’s no overhead.

You still don’t need to go into your bank app.
There must be some app, though. WePay or whatever. Launching my bank app doesn’t have any overhead; I tap the icon and use my fingerprint to log on. Maybe 5 taps total to send a payment.

Unlock my phone, do it. I don’t need to go into any app.
I don’t know what this means. Every function your phone has is implemented with an app. Even the native ones included with your phone.
If you define the integrated OS stuff as apps, then fine, there’s no difference between that and going into your bank app.
But I was starting out responding to the OP. Everybody, certainly in the cities, does all of their transactions like this. So nothing like the kind of scenarios the OP is talking about.
Fair enough. But the way I see it is just that the “pay this person” icon just happens to be the same as the icon for the banking app. It’s not an actual practical difference.
As far as the OP is concerned, that was my experience ~10 years ago. But since then credit cards took over a lot (Square making it easy to accept them), and Zelle (and maybe Venmo) took over the rest. Every small business, like landscaping or house maintenance accepts it. I paid for the remodeling for an entire house remotely via Zelle. I don’t recall the last time the bank had to mail a check on my behalf.

But, in this thread, there are examples of giving the utility company your IBAN and setting up autopay, meaning they can withdraw an arbitrary amount given your IBAN.
That’s fine for a utility company that, hopefully, has a secure system. But how does the craftsman stop me from pulling money instead of giving him money.
I could set up direct debit (me being the recipient) with my bank, and lie to them about the craftsman having given me a SEPA mandate.
After my having initiated that fraudulent transaction the business will notice it, have it reversed, and contact the police.
In principle the security of the system depends on people looking at the transactions on their bank account from time to time.