Users don't want to have to keep multiple apps on their phone, or remember that the local Olive Garden uses OnlineFood but that the Greek place uses FoodNGo. We can have them order through the restaurant's web site and let them make the decision, but they're going to get frustrated if the drivers are fragmented across the different services. If every driver has every app, then it's really just adding overhead.
All people and restaurants want is somebody to get the food from point A to point B, without a lot of differentiation. Much like ride share services replacing taxis: people don't really care what they get, and multiple taxi services don't provide useful differentiators. I really think that taxis might have survived better if they had come together to develop an app instead of letting somebody else take that space.
As for prices... people are willing to pay to save time. If they really wanted to save money, they'd cook. People go to restaurants so they don't have to cook, but they still pay the time to go and sit and wait. Faced with a choice of $20 Olive Garden + $20 delivery fee, and wait at home playing video games, or $40 at the steakhouse sitting at a table waiting for their food, it might be a tossup. Lots of people do that today. If all they wanted was calories, they'd spent $5 at McDs.