The items you've listed don't appear to be things that would contribute directly to the size (in MB as installed on the device) of the app. I don't think GP was making a comment about the complexity of the product, just the size of the installed app.
It seems a little strange to criticize someone for asking a question on a site where most users seem to value curiosity. Not everyone has a background that makes it as easy to imagine problems like these, and while you've given some possibilities, I would also be interested in knowing exactly what accounts for the size.
There are far better ways to ask the question than “What does the app even do, just seems like a map with a few dots” which has a heavy implication on the quality of the team that built it..
Evaluating map data inaccuracy? More than just a payment UI? Driver/passenger matching? Data analytics? (Doesn't that require information from multiple clients?) On the client?
I mean, you could push some of that to the client, but I'd understand why your app is gigantic and doesn't do app-ly job very well with all the background processing. And I'd be surprised the app hasn't been hacked to get at the analytics data, if not the payments.
I never work for Uber but I can easily imagine the following problems:
* Map data is not a solved problem. Tons of inaccurate data especially on non-english speaking countries.
* As someone mentioned about payments, different country requires different payment platform integrations.
* Payment is just one aspect of money, you need to build a treasure-like logic to run a marketplace between drivers and passengers.
* The matchmaking algorithm itself is interesting enough problem. It has to be efficient for the company to make the most amount of money.
* Tons of internal data are produced and required to be understood. This requires ML/data analytic talents.