I have 4 OBDII tools:
I have a fairly expensive Innova/Equus 3160 that does OBDLive, ABS, and SRS.
It is a great tool, but I RARELY use it (pretty much only for ABS issues). Mostly it stays in the toolbox in the garage.
I have a cheap (from Amazon) ELM327 OBDII bluetooth adapter and TorquePro for Android. I use this probably 75% of the time, especially when diagnosing an issue when I need to view live data. Only problem with this combo is that it is a little slow clearing codes. This one shares time between the center consoles of the Chevy and the Mazda.
I have a cheap Harbor Freight (p/n 98568) code reader. I use this probably 25% of the time, mostly when I just want to know what the code is, or when I know what the code is and I just want to quickly clear it. This reader is insanely fast on GM vehicles; I can read and clear codes in a few seconds. It works on all the GM and Mopar vehicles I've tried it on, but for some reason it doesn't work on some Fords. This one lives in the door panel of my Chevy.
I have a cheap (Walmart) Innova/Equus 3030 code reader. I bought this during a long trip because I had a code pop up and I forgot to bring along one of my other 3 scanners. Same capability as the HF tool, only slower. This one lives in the trunk of the Mazda.
I like having the first three because they each have their strengths. The last one I don't like, and probably wouldn't buy again. If I had to recommend just one, it would be the 3160 (due to ABS capability), but the ELM327/TorquePro combo was 1/10th the price and is better any time you aren't diagnosing ABS/SRS issues.