Contactless is the convenience provided to get us into some wall garden. Apple pay. Google pay. Samsung pay.
These are not open or interchangeable standard, they aren't interested in that. They want our valuable transactional data, and location when those are made.
QR codes are a standard. It allows any bank to issue funds. It's a wire transfer. Transfer are a standard. Any bank can adopt it. Typically a bank adopts it..it doesn't require a specific device or partnership for merchant, nor the payer.
It also offers the ability to transfer funds remotely. In that sense it is more so contact "less" than the proximity handshake that contactless payments do, which is somewhat proprietary.
You can save a QR code, make a payment later. QR codes also are more intuitive because they represent an identity. An electronic device that can be swapped, tempered with, is unhelpful to help figure out a fraud or who we are actually paying until the handshake happens.
More importantly they don't incur a hidden fee for either the payer or merchant. Because it's a transfer. Not a transfer disguised as card payment.
A QR code scan keep the payer in control. Merchant presents an amount to pay, payer initiates the transactions, approves, and gets a confirmation. Can use bank A, or Y, or even a bank in another country, so long as it supports QR scan and a fast wire so that the merchant can be assured the transfer is well received.
Yeah, but... QR codes are annoying. I live in Thailand and I have to scan them every day. Pretty much every time, I wish it was as seamless as Apple Pay.