The basics:
ECC - Error correction code. This is essential for mission critical applications (e.g. servers, etc). It is sometimes recommended when dealing with large quantities of memory as well (e.g. 1GB). You should not expect to mix ECC and non-ECC memory, even though ECC memory is *supposed* to work properly when ECC is turned off. ECC requires motherboard support.
Registered, Unbuffered - registered memory contains additional circuitry that, without going into detail, drives the memory more reliably than the mobo controller. If you use a memory size of 512MB or more, it is often recommended that you use registered memory. Registered and buffered are used interchangably, even though technically they are not the same thing. You cannot or at least should not mix unbuffered and registered memory. Registered memory also requires support from the motherboard. (I believe that some are referring to registered memory as EDO, though I'm not sure it's correct to do so)
CL2/CAS2, CL3/CAS3 - this is the memory latency. As I'm sure you can guess, the lower the value, the better. How much better? Not much usually. However, the lower latency implies better manufacturing, and therefore I would always recommed it. Most motherboards will take CAS2 or CAS3, and set themselves up automatically. You can mix and match CAS2 and CAS3, but it will all run at the slower speed.
PC66, PC100, PC133 - the numerical value specifies the maximum rated bus speed. If you use a processor like the Pentium III 933Mhz, for example, it will run on a 133Mhz bus, and therefore you must use PC133. You can use higher rated memory in slower systems. For instance, plugging a PC100 DIMM into a PC66 board should pose no problem. You can mix and match various rated memory as long as you stay within the above guidelines.
DDR, SDR - Double data rate and single data rate respectively. Again without going into detail, double data rate means that the memory operations take place on both sides of the clock tick, thereby effectively doubling the available bandwidth. 133Mhz becomes 266Mhz, even though the clock itself is only operating at 133. This requires motherboard support, and you probably shouldn't mix DDR & SDR. This technology is relatively new and use mostly in AMD systems.
RAMBUS, RDRAM - Intel's super fast memory that operates at speeds up to 800Mhz. Too bad memory speed wasn't a real bottleneck. Intel is still pushing RDRAM, but manufacturers don't like it, and DDR memory is showing just as much promise at very little additional cost. We'll see what happens.
7.5ns, 8ns, 10ns - refers to the actual speed of the memory. PC66 is typically 10ns, PC100 is typically 8, and PC133 is typically 7.5 or less. Really this statistic is less important than the PC rating.
Where to get good memory? crucial.com - good stuff at reasonable prices with free 2nd day shipping.
Man, when i get going it's hard to shut me up.
Slackmaster 2000