I have about 4 different scan tools strewn around my house and shop. There are two important items to consider:
1. Make sure whichever tool you buy gets free software updates. This is becoming very important because the software in modern vehicles may be routinely updated whenever you take it to a dealer, and in the very latest ones the updates can be done wirelessly. Over the course of 11 years, my 2013 Silverado had at least 5 different software versions installed that I am aware of. It was usually updated whenever I took it into the dealer for warranty or recall work. If your scanner doesn't keep up it may not work as you expect; and...
2. Realize that there are more than just one computer in modern cars. A good scanner will not only talk to the engine ECM but to the transmission, airbags, brakes, body control module, and about a dozen other systems. The more different systems your scanner talks to, the more money you should expect to spend.
The last scanner I bought was an "ArtiDiag600S" by TopDon which talks to every computer module I need - ABS, SRS, ECM, TCM, oil, brakes, battery management, steering wheel angle, ETS, DPF, TPMS (tires), and even brake bleeding. Plus it has manufacturer-specific software, although I only keep those loaded for vehicles I expect to ever work on (I doubt anyone wants me to work on their Ferrari!). This scanner can be had for less than $200 but fair warning, it is a bit complex.
Hope this helps!