You don't, but it makes the entire stack easier for everybody involved.
I don't live in a NYC, I live in Phoenix, but we have our own problems that necessitate taxicabs (urban sprawl, meaning if I going to beers-with-friends, I'm paying for a cab).
Sitting in the bar and pressing a button on my phone to hail a cab would be awesome.
The management software on the backend finds the closest 5 available drivers, lets them bid on me, and whichever one bids the lowest takes me home.
Honestly, you could take it a step further and do AirBNB for car services. Give me the ability to rate drivers and their cars, and then let drivers bid on me where I get to choose which one takes me home.
As a customer, I don't have to muck about in some app, especially while buzzed, to get a car. I call and get a real person and am done in 5 seconds. No app can do that.
Admittedly, it works because they have a lot of drivers. I can see how this becomes a problem when you have many smaller companies and you need to hail the closest. Thanks for the perspective.
I speed dial Eastland Car Service in Brooklyn and call it a night (excuse the pun.)
3 minutes later it's waiting for you.Edit: Funny story, once I was picked up by a brand new Porsche Cayenne. Pretty good for an $8 cab.