I've got the ProScan OBD2 scan tool. This is not a stand-alone unit; it must be used with a Windows based PC. Some of the advantages of this system is that in addition to finding current and pending CEL codes, it also displays maybe 20 other parameters in real-time. These include air temperature, rpms, throttle position, to name a few. Not all of the functions work on every car, but most of them do work on my 2006 SC 2.0T. If you use a notebook pc, you can have it gather this info as you drive. It also has a "Dragstrip" mode, where you can get your 1/4 mile, 0-60, etc automatically; just stomp it from a standstill and it does all the work. I've used it on three vehicles; my Saab, a 2000 GMC Yukon, and a 2000 Mitsubishi Eclipse, and I'm very satisfied with it.
I have self-made scanner with ELM327 chip (www.elmelectronics.com) - easy to build and it reads all OBD2 compliant cars. It's not stand-alone scanner, you need PC with soft for it, but it's not a problem. Best soft seen so far IMO is PCMSCAN (http://www.palmerperformance.com/)
By the way, basically it's the same device what cadcamjim has, just he bought it ready to use, I ordered only microchip and soldered device together myself