Most drivers, don't give two shits about the job. And it's hard to blame most of them if you understand the dispatcher-model they generally work under. It's very cut-throat and has high pressures.
While this isn't an excuse on Uber's part, I think it's where Uber can step in and improve things. Originally Uber's goal was too make Taxi's an app. They've succeeded with that. Now they need to improve quality, and not necessary the quality of the app, but the drivers. They have to force a cultural shift through an antiquated market, where education levels are highly variable. They should test a drivers knowledge about Uber and ensure they know what customer expect in terms of service. On the flip side, it should be very clear to the customer what they should expect in terms of service.
They also need to improve there mechanism for feedback. They need this because they must force out bad drivers. It's single handily ruining their reputation.
Uber is great, the drivers are variable.
All that said, I live in a city and almost completely replaced my taxi usage with an eBike, so I hardly use the app anymore, but when I was a regular user (10-20 rides a month). Classical dispatching companies were much more reliable then Uber.