1) UPI is unreliable. Based on my experience, it doesn't work many times per day. I once needed to beg my friend to pay for me after realizing that it didn't work when i purchased something in shop but had no money(only upi account)
2) It is closed source. UPI forces every App that uses UPI to use it's closed source code.
3) I find Bank transfer like IMPS/NEFT more reliable than UPI.
4) One advantage of UPI is it's id which led to discovery of account (through qr code) . This is also the reason it got adopted by people.