Actually, the device is very simple in concept -- but it measures the relative air speed --not the ground speed. If you place a small air scoop on the outside of the plane, it is not hard to imagine that as the air moves faster, the pressure measured in the scoop will change. In practice, a little port is made with a known obstruction in front of it to make the measurement less dependent on the position of the scoop on the aircraft. Then as the plane moves faster, the air pressure in the scoop changes and is displayed on the air speed indicator which is just a fancy pressure indicator. You might guess that this model will have problems with supersonic flight -- since obstructions tend to gravitate to vacuums behind obstructions... For this reason, there are several alternatives: small tubes through which air flows and is heated (the output temperature rise indicates the velocity...), there are even optical, sonic and radar based air speed indicators which measure the density of air in an external trap.
Finally, there is the old moving vane -- you measure the amount of torque to keep the vane tilted a small amount in the moving air. If you think about it, you'll realize that the measurement also has to take the air temperature and altitude into account... A simple trick in such situations is to make two or more measurements and manipulate them to cancel out the unwanted effects. So -- can you think of a way to measure the pressure difference between moving air and still air which cancels out the air emperature and altitude? Hint -- just two ports are needed.
Measuring the speed of an airplane is actually much easier than you might expect. Airspeed is generally measured by a simple device called a Pilot tube. There are a couple of slight variations of the design, but the one of interest here is as a differential pressure gauge. The open end of the tube faces the direction of motion and a gauge measures the difference between the inlet pressure and the static pressure (atmospheric pressure). When the airplane is stationary, the inlet pressure and the static pressure are the same and the gauge would read zero. When the airplane moves, there is an increased pressure at the inlet due to the airflow (the inlet pressure = the static pressure + pressure airflow pressure). Thus the pressure due to the airflow can be found by just subtracting off the static pressure and it is this differential pressure that can be converted to airspeed. The key parameter in making this conversion is the density of the air, which depends on both the altitude and the air temperature.
For the Pilot tubes which I described to you earlier, the speed given is the airspeed, or the speed relative to the surrounding air. The ground speed is the airspeed corrected for wind effects. If you were traveling at a constant airspeed, say 500 mph (which is what you'd read from a Pilot tube measurement), then when you're going into a 20 mph wind, your true ground speed would be 420 mph. If you're instead going with the wind, you'd be at 520 mph. Let's look at this in more detail.
In physics, objects in motion must be examined with relative to other objects, or their surrounding medium. In this case, examining the Pilot tube determines the speed of the plane relative to the surrounding air. So let's look at the case of a plane going into the wind. If the plane was standing still (airspeed = 0) but was facing the same 20 mph wind, you should see the reading as 20 mph. It doesn't matter whether the plane is moving 20 mph in still air, or if the plane is not moving with a 20 mph head wind - it's treated the same way mathematically! Now, if we increase the speed of the plane until we read an airspeed of 500 mph, it is clear that our ground speed would only be 480 mph, because 20 mph of that was from the wind.
From a more technical standpoint, what we are doing here is defining the "frame of reference" of the problem. We can imagine the frame of reference to be moving with the wind. For the case above, the frame of reference would be moving against the plane at 20 mph. Once we determine the airspeed is 500 mph, then we'd subtract off the frame of reference, which is 20 mph to get 480 mph. For the case of a tailwind, the frame of reference would be moving with the plane at 20 mph, and by now adding that, we'd get 520 mph.
The limitation here, of course, is that by using this simple measurement, we cannot accurately determine the ground speed. The only way to do that would be if you knew what the wind speed was at all times outside the plane. To know the true ground speed, you would need fancier measuring devices such as GPS (as you mentioned earlier) or, I think they can also use some type of radar (Doppler effect) to get true speed as well.