A datum is a coordinate system based on a mathematical model of the shape of the earth. Datums provide the reference for position and elevation coordinates. A horizontal datum is a reference for position coordinates, and a vertical datum is a reference for height coordinates.
Many different datums have been used over the years. The reason for having different datums is that the earth is not a uniform sphere or ellipsoid, and different datums fit different parts of the world better than others. In addition, geodetic measurement technology has improved, and better measurements have allowed datums to be refined.
The NAVSTAR Global Positioning System that was developed by the US Military in the 1980's and 90's uses a datum, WGS 84, that is a compromise for that technology. Because it is based on satellites orbiting the earth, the datum uses the earth's center of mass as the origin of the coordinate system. Because it is used worldwide, its ellipsoid shape is based on a statistical best fit to the worldwide geoid.
The NGS uses a slightly different datum, NAD 83, for geodetic use in the United States. The differences between NAD83 and WGS84 are slight, but may amount to a few meters in certain parts of the U.S. The differences are due to slightly different measurements that were used to calculate the earth's radius and the location of the center of mass. In addition, the NAD83 datum is fixed with respect to the North American tectonic plate, whereas the WGS84 datum is fixed with respect to worldwide average tectonic plate motion.
The other horizontal datum you will often encounter in the US is NAD27 which was formerly used by NGS and still is the on many (most?) topographic maps. It has differences from NAD83 that are commonly in the range of 10's of feet or even 100's.
Also see the North American Datum.