I recommend spending a little time searching the web and Google's Android developer pages for more, but here's a Quartz article that gives a decent overview: https://qz.com/1131515/google-collects-android-users-locatio...
If you're interested in being able to find your location under the most possible circumstances, you can't rely just on GPS because there are so many situations where GPS won't work.
Here's the disclaimer from my phone: "Location may use sources like GPS, Wi-Fi, mobile networks, and sensors to help estimate your device's location. Google may collection location data periodically and use this data in an anonymous way to improve location accuracy and location-based services."
They have had similar-worded ones for a while now.
IIRC basically if the phone has GPS enabled it'll upload the list of visible APs from that location, so they can use that as an estimate for when a phone without GPS is nearby.