I'm not an Android developer, but could it be that applications are just expecting that API? It would make sense for Google to want to route location requests through what's usually their service...
And then there's a more powerful version provided by Google Services, which automatically fuses all providers and talks to Google servers. Most apps these days opt for the Fused provider, since it's easier to use and automatically handles getting a reliable location in pretty much any environment. It's not available on "Google-free" phones though, since it depends on Google's infrastructure.
GPS is a standalone system but it doesn't have a lot of spare bandwidth for the metadata so the alamanac you need frequently updated to use it takes quite a long time to receive over GPS itself whereas you can download it very fast over even a mediocre GSM signal.
Taking a few minutes, especially the first time you use it in a day for example, sounds like the time needed to receive the almanac. But I could be wrong.
It does, but you'll have very poor reception unless you have a nice line of sight to the sky - large cities and forests are typically the most problematic.