



Uber’s core product is genuinely good: open the app, enter a destination, pick a ride type, and a driver shows up. The in-app experience is polished, driver tracking works in real time, and the receipt and trip history are clean. In cities where Uber has density, the wait times are short and the experience is predictable in a way that matters when you’re trying to get somewhere.
Surge pricing is the main source of frustration. During peak hours or bad weather, prices can jump significantly with no cap the user can control. The app shows the multiplier, but there’s no option to set a maximum price and wait. Some users also report that cancellation fees can feel disproportionate if a driver is running late. Eats integration inside the main app adds to the app’s weight without being useful to ride-only users.
For travelers especially, Uber’s global footprint means you can often land in a city and get a ride without needing to figure out local apps. That consistency has real value.
Verdict: Uber is the most dependable rideshare option in most markets, but dynamic pricing and a swelling feature set have added friction to what should be a straightforward experience.