To obtain a semi precise GPS position, you need at least three satellites (but usually four or more is required to obtain a decent degree of precision) to triangulate your position. The more you have the better the accuracy.
A GPS receiver needs to power its antenna, and constantly process the signal sent by each satellite. Remember that satellites are continually transmitting messages. (50 bits/sec as far as I can remember)
Satellites emit messages specifying their exact location, trajectory, speed, the time each message was sent and the rough location of all the other satellites in the constellation.
By comparing this info to the time the signal was received a distance from the satellite to the receiver can be determined. When you have three or more satellites you can triangulate your location in three dimensions relative to the positions of the satellites.
The iPhone (and other phones) use A-GPS, which is designed to (believe it or not) among other things, make the GPS work better in poor reception areas (cities?) and reduce the amount of information that the receiver needs from the satellites, thus saving battery power from the Antenna.
The parts of the GPS signal about location, speed and orbital trajectory usually drop out first when in low reception, that’s where A-GPS fits in, feeding that info for every satellite in that part of the world to the phone, from a central database via the mobile network. Now the phone just has to search for the short timing signals from each satellite, which are easier to receive than the other parts of the transmission.
When all that information is calculated, an algorithm (there are a few as far as I know) is used to compute the position of the actual receiver.
Now add to that the fact that GPS messages are encoded and that satellites broadcast the messages at about 50 bits per second. And that each message is really a subset of frames with time, position, error correction, etc, etc.
There are more factors involver, but for the purpose of making this simple, the GPS’s cpu must constantly use the radio (already power hungry) to capture the signal (which may be weak!) for usually four or more (sometimes up to 20!) satellites that are constantly sending packages, then it must decode and process them, perform calculations to analyze the results and in some cases draw a map or feed an application with the info.
As you can see, this sounds easy but it’s not. There’s a lot of CPU processing involved in the back (plus the antenna’s power!)
So the GPS power consumption usually comes from the real time nature of the operation. Powering the antenna, listening for information and processing it, uses power, more than just a standby radio antenna (the phone) waiting for a call. Plus the A-GPS uses also the phone’s radio and (if available) Wi-Fi networks to determine its location (and use less GPS info), which means, more power is used at the same time.
The Wikipedia GPS page has a lot of detailed information if you want to get the specifics and/or dive into more GPS geekery, including the math and error correction stuff.
The iPhone also has Assisted GPS. The iPhone page you pointed to only has abbreviated versions of the features; when you check the actual "specs" pages for both devices you get the same info.
Both get real GPS data (assuming one of the 3G versions of the iPad, the wifi-only versions have no GPS). The "assisted" part just means that it also uses cell tower locations and wifi networks it can detect to help narrow down your location, usually much faster than it can get a full GPS lock from the satellite signals.
In real-world experience they both work well, but both have fairly small GPS antennas. If you want really solid turn-by-turn directions while driving, an external GPS antenna is definitely helpful. Tom-Tom makes a pretty sweet combination mount, charger, and boosted GPS antenna.
Best Answer
I regularly experienced similar problems with RunKeeper on my iPhone 4S where distance was over-measured. When reviewing the plotted map of my run I could see the coordinates jumping a bit erratically from one point to the other, accounting for the extra distance, and this for entire outdoor runs, not just sporadicly on spots with bad GPS reception.
Normal run:
Bugged run:
While I cannot give a definitive answer as to why this problem occurs, and why the iPhone seems to get stuck in this bugged state when it does, completely rebooting the iPhone (and possibly additionally toggling Flight Mode to reboot the antennas as well) seemed to always resolve it for a few days or even weeks.
On a sidenote, since I upgraded to my iPhone5 (with iOS 6 ofcourse), the problem has not presented itself again so far. Perhaps the problem was fixed in either iOS or in the hardware meanwhile.