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.