I've had a couple of code readers come down the pike.
I have a cheapy I keep in any car with a recurring code which I'm driving. Sometimes noting the exact time/mileage the code occurs helps.
There, I don't want to keep an expensive one in a car.
I also have a BSR-PPC reader for the Volvos I've been driving. It's a Volvo specific reader which has helped me a lot.
The level of detail of the codes it pulls has been matched in recent years as readers get better.
I've only looked at a few complex readers but Autel is a name which used to come up frequently.
I saw a Launch years ago which had stupid, archaic looking plug in cards. The darn thing wouldn't communicate with my car.
My first generation Scan Gauge has been helpful as it reads many sensors like incoming air temp, coolant temp. ignition timing etc. However, it and the 2nd generation are designed with dashboard installation in mind and don't have the level of detail we all need these days.
You can go to Harbor Freight and look at the array of readers they have. Note what they do and then go comparing on the various manufacturers websites.
Whatever you buy. Go to every vehicle in your family and plug it in to make sure it communicates with them. One of my readers wouldn't link with a new-at-the-time Chevy. That was 2014 or so.