Mobile devices are location aware to one degree or another. Unfortunately the term GPS seems to be used more than it should so I thought it might make sense to define the technologies in a bit of detail in an effort to dispel confusion.
One of the quickest yet least accurate methods of determining location is to use cell towers because their location is fixed and known. By looking at the relative strength of a device's signal, you can work out roughly how far a device is from a particular cell tower. You can conclude a device is within some radius of a cell tower.
If a second cell tower also hears that same device (they have unique IDs) you can conclude that a device is within one or two locations - where the two circles intersect.
If a third cell tower can hear the device, you can narrow down to just one point in every case.
In this example, we know where the device is down to an accuracy of about a few hundred meters. The upside here is the speed at which we can get a "fix" - typically within a second or two. You'll probably recognize this level of accuracy by the pinging "blue circle of ambiguity" made popular by Google Maps on the iPhone.
The other way to get a fix is using WiFi. Similar to the way cell tower triangulation works, WiFi based location service listens for all the WiFi networks in an area and posts that list with accompanying signal strength to a database on the Internet. In Apple's case, they use Boston based Skyhook to translate that list of WiFi access points into a location.
How do they know where all the WiFi access points are, you ask? Well they drove around with a WiFi listener and a GPS unit and figured that out. You may remember Google getting in trouble for doing this as well when they were taking their Street View pictures. Google stopped using Skyhook in favor of it's own database when they had a good enough dataset.
Of course finding your position using WiFi generally requires an Internet connection to reach that database unless you have a complete copy locally or you use the cellular method. This is because the phone company figures out where you are on their side and delivers that information to your device through the cellular network itself. In effect, your location data is delivered as a network service from your carrier. So yes, they can and do track you even when you aren't "on the phone" - but I digress.
WiFi lookup accuracy is typically in the tens of meters so it is better than cell tower based triangulation if you have an Internet connection. You usually do have an Internet connection when you can sense WiFi networks so this method tends to work fairly well.
So how does GPS work? Well, it is similar to the other two methods where you are reading signals from locations of known radio transmitters but it adds the all important timing hint. Radio waves, although quick, take time to get to you. So the GPS system comprises 24 active (and a few backup) satellites containing synchronized atomic clocks all broadcasting the current time. These clocks are accurate enough so that you can calculate how far away a given satellite is by comparing the time you receive signals from them. Accuracy can be down to the tens of centimeters but it can take time to figure out where you are in the world just by hearing a bunch of satellites telling you what time they think it is. Hints, such as the cellular network location certainly help here, but it typically takes 10 to 15 seconds to get a fix in best possible cases.
However once you get a fix, you typically get position updates every second and at a resolution far surpassing WiFi or cell based technologies. This is clearly the preferred solution for continuously updated navigation on a map.
Each of these technologies have their own strengths and weaknesses. Critically they touch on privacy concerns. The first two, which are much quicker but less accurate, rely on some external component to respond with where you actually are. GPS, which is much slower initially but more accurate, is a "receive only" service where the system never even knows if you are there, much less your location or associate a unique identity with you.
It is important to remember that any radio transmission can be passively located. This includes the cell phone in your pocket even when you aren't on a call. Cell phones periodically notify local cell towers of their presence so phone calls can be routed to them when they have a call. They use randomly generated IDs to communicate so looking at these IDs adds uniqueness to the radio transmissions enabling them to be passively tracked even as they move around. It is easy enough to dial a number and record what random ID responds to the call adding real identity to the passive map. So with a number of radio "listeners" and an outgoing phone call, you can generally determine where a phone actually is and passively track it.
GPS is only one part of location services. It might be tempting to call other technologies that deliver location "GPS" as well, but the methods and their tradeoffs are very different.