The above advice is good, and opinions vary depending on the goals (constant monitoring, checking engine light code, or diagnosing a problem, etc.)
My advice - don't limit yourself to one option.
First, I have very cheap ($20-$30) OBDII code reader that stays in the glove box of every car in my family for emergency use (i.e. if you have a car problem and need to diagnose it quickly). Something like the Autel MS309 (or similar, search Amazon). They don't require a battery, and are pretty bullet proof (plug it in, read code, clear code, done...). These do little more than read/clear codes (some have live data, but update may be slow), but when you are on the side of the road with your hood up, reading a code and a google search on your cell phone can be a life safer (also, they are easy to use and my wife and kids can check a code and call me for advice)!!! There are numerous options as the price increases, but for emergency use at $20 - $30, I don't understand why anyone would not have one of these in their car at all times. While I have several types of readers that can do a lot of things, the cheap one is the one I use the most!
Second, I also have and recommend the Torque app with a cheap Bluetooth ODBII adapter. The info you can get on Torque is pretty awesome, and Bluetooth adapters are cheap ($20). It is good for diagnosing live data, and can do some cool things (0-60, etc.). I have multiple Bluetooth adapters, and have had times where the Bluetooth didn't want to connect, or I had to re-pair, etc. (maybe because I had multiple adapters or hadn't connected in a long time, or other phone/app issues, etc), or the Bluetooth adapter quit working... Anyway, the point is that while Torque is awesome, it does require the app on your phone and pairing a Bluetooth adapter, and if you are just trying to read a code, it isn't always my go to OBDII code reader (but for the money its worth having in the toolbox).
Lastly, Techstream and it is awesome for certain applications. I have a Landcruiser and a Lexus LX470, and have used it many times to check and adjust my AHC pressures and torsion bars, etc. It is great for system diagnosis or tweaking certain things. But I really only use it maybe twice a year (if that). For simply checking an engine light code, its not worth getting out the laptop out, connecting, etc. Depending on your needs, Techstream is worth having.
I don't do constant monitoring, so I don't have much advise there.
In summary, I use a cheap $20 to $30 code reader more than anything (get one if you don't have one). I don't recommend expensive OBDII readers, you can get advanced functionality with Torque or Techstream inexpensively if needed.