Here's the main problem as I see it. With these tech services is that you can take a basic framework that acts as a middleman between people wanting a service and people willing to provide it and then scale it up immensely by just adding more computing resources. But not everything scales that way, including the checks and balances that ensure everything is going smoothly and filtering out people trying to use the service in bad faith or incompetence. Support (for both customers and staff), QA, HR, and training don't necessarily scale (training can, if you have workers that are smart enough to be trained solely from media, but if anything is confusing then it stops scaling well).
And add on to that with it being so scaled up, interactions are often with random people, for both the customers and the workers. They don't form relationships like what happens in smaller businesses. A good experience won't say much about what to expect next time. Same thing with a bad experience. And support people have no idea who is complaining and who they are complaining about. They know their identities but not there personalities, or if this driver is generally good and might have had a bad day, or a customer is lying to get free food, or that driver is generally an asshole. A lot of these services do what they can to avoid having a relationship that goes beyond "fulfill order, get paid".
And on top of this, it's not really able to handle fluctuating demand well, since services need to have extra capacity to handle spikes in demand. If things are slow, drivers will just log off and do something else with their time, where as a pizza place handling its own delivery will have a better chance of predicting activity levels and scheduling people to be in at that time (and offering incentives to be there in case it turns out to be slow). That's not to say businesses handling their own delivery service are perfect, but at least they'll have people seeing what's going on who can deal with it (eg by sending inside staff to deliver or hiring a delivery service to help with the load until it's back to manageable levels).
And this article indicates that door dash considers this a feature rather than a bug. After all, if they are taking a cut of all money that gets transferred through their app, of course they'll encourage customers to pay more. It's all pretty much passive income for them, other than maintaining the code and servers.