BlueDriver isn't the cheapest out there by far, but I will upvote it every single time. I picked it up a few years ago and it's fantastic. One big reason? It gets updates via the app. It does far more than just read the error codes. It gives you reports, it will list off some of the most common causes of the error codes you're getting, and it's easy to move around between vehicles and share the results. I've pulled codes for family and friends too many times to remember.
Plus the live data logging is great if you're trying to track down those little bugs that only seem to happen when a mechanic is nowhere around. All goes to CSV files to open in Excel. The real-time readout is nice when driving too ... I used it all the time as a 'digital dash' on my 97 Sierra. You can select which data you want to see as well. I've never needed to dig too far into that myself though.
I'd 100% buy a BlueDriver again if I needed another one. Top notch product, but not the cheapest by any means.