I've got the Innova 3100 that I purchased a long long time ago. I've used it to reset the gas cap/vacuum leak code the 4runner was throwing when I was in the process of searching for a locking gas cap.
I don't have experience with other OBD2 tools to compare it to, but the Innova has all the general functions and it tells me the code when my check-engine light turns on, and allows the code to be cleared. There are lots of OBD2 readers on the market nowadays and most are very affordable (and even more so when on-sale). Don't spend an extreme amount of money for one - I find I've used mine just a handful of times. A basic unit that will read/display the code, and allow for manual clearing of the code should suffice.
I got my Hyper Tough HT309 at Walmart for about $20, and it has worked well for me the couple times I’ve used it. I have also cleared codes for neighbors a few times.
__________________
2004 Limited V8 4WD 183k miles. Stratosphere Mica paint, Stone interior. Too many mods to list here.
I have an Innova reader at home. It's just meh. The controls are kinda stupid and I haven't been able to update it to work with my 19 Runner. You also cannot delete vehicles you have used it on so they will stay in your list. I'll have to try again since it looks like their website has been updated. I'd probably go for a bluetooth dongle for basic code reading. They're inexpensive and decently capable for what they are.