I wrote an in-depth article on this on my blog here: http://www.sharpgis.net/post/2007/05/05/Spatial-references2c-coordinate-systems2c-projections2c-datums2c-ellipsoids-e28093-confusing

It covers all these concepts in a hopefully easy to understand manner, and has been peer-reviewed by several. 

To sum it up:
A datum is a definition of the size, orientation and position of an ellipsoid used as an approximation of the earths shape. It uses reference points on the surface to define this, based on a date (which is why a number is in there for the year it was defined). Datums are used in both spherical long/lat and projected coordinate systems.

A projection is a formula used to convert long/lat coordinates into a flat coordinate system that you can use on paper or a computer screen. It's usually done from a geographic coordinate system, which in turn uses a datum as it's base definition.