I have a Solus Ultra, and a Launch Code-Reader Plus. Both give me live data, but only the Solus is bi-directional (for stuff other than resetting lights) and has the availability to do system tests. Checking several components together is nicer on the Solus as well.
However, it is so damn slow, I use the launch for a lot more than you'd expect. The solus comes out when I need more information or control. Usually the Launch gets the code and freze-frame, and then I check a few sensor voltages, before hitting all-data and the multimeter.
A co-worker has that new top-of-the-line snap-on scanner.... Verus? It's great, but stupid expensive (even with huge incentives and discounts). Luckily, he doesn't know how to use it for anything beyond pulling codes, which means it's about as useful as my baby code-reader that I got off the matco truck for $75. Both just reset CELs and check I/M readiness.
