I have 3 scanners:
1) Harbor Freight CEN-TECH 98568. This is a cheap basic CanOBDII reader that is pretty much only useful for reading and erasing codes... but it does that very quickly... I can plug it in, read, and erase codes within about 20 seconds with this tool. This is the one to use if I already know what the problem is, I haven't had time to fix it yet, and I'm just tired of looking at the CEL.
2) BAFX Products ELM327 Bluetooth adapter (from Amazon) + Torque Pro (Android). This stuff is addictive. Fully customizable OBDLive dashboard, super fast refresh rate, pretty much everything you could want in a basic scan tool (except ABS and SRS). My only complaint is that the code reading/erasing function is pretty slow. Otherwise, this is the tool to use to watch O2 sensor functioning, fuel trim values, MAF rates, and other real time data.
3) Innova 3160B: This is a powerful scanner that does CanOBDII, OBD Live data, ABS and SRS. While it is the most expensive scanner I have, I find I only use it for ABS. Most diagnostic work can be done with the ELM327 scanner/Torque Pro.
In general, I'm glad I have all three - I use them all... But if I could only pick one it would be the bluetooth adapter + Torque Pro.
YMMV, since I've mostly used these on 2001 and newer (mostly GM) vehicles.