.
General rule: the lower the timing numbers, the faster the performance. What krumm said, and the link from vuzedome is excellent; you can use the vocabulary you learn in that to google further info. If you can find DDR3 1600 w/ a CL8 rating for 4 GB chips, you're near the cutting edge. Not sure if I've seen anything like that w/ CL7, but you'd certainly want that if you find it/can afford it. 1800 and 2133 tends to be CL9; find those at CL8 and you're rockin' it.
Heat spreaders: at lower frequencies and standard voltages, you about don't need them. Although, they cannot hurt. Any time you are keeping your components cool you are generally extending their life.
Heat spreaders come in much more handy if you start to overclock, especially if you have to tweak the voltages up. You tend to cook your RAM when you do that if you don't bleed off all that extra heat that they were never rated to take. If you go that route, try to ensure that one of your case fans is also blowing across your RAM bank to increase heat radiation. You can often run 1200 up to 1600 or 1833, or maybe take 1600 up to 1800 or 2100, but you'll (usually) have to dial the CL back a notch, like from CL8 to CL9 ... in addition to the stress your piling on.
I can also recommend G.SKILL as a damned solid product. Their budget stuff is very reliable at the rated speeds/voltages, and their higher end stuff handles overclocking as well as anyone. Mushkin is another solid name brand.
In the big picture, fast RAM is just one thing you want to pay attention to. If you get something like 1600 or 1800 right now, your in the sweet spot for price/performance. It doesn't make a huge difference in your system performance, but it can bump you by 5% or even 10% ... it's about total system. If you're going for maximum that your system can handle, then it's one of several tweaks that add up to the total in the end.