Code readers (per se) only read diagnostic codes set by the ECM or PCM (hereafter referred to as "ECM for simplicity). Scan tools do that, but much more - they can see live engine/trans/ABS/body-module data as the ECM refreshes it, such as RPM, coolant temp, OS cross-counts, torque-converter lockup state, other transmission data, radiator fan status (if electric fans & ECM-controlled), etc. The pro-level (and maybye now som of the best DIY models) give bi-directional control, which allows you to do things like turning on/off fans, EGR solenoids, etc. to verify functioning. Good scan tools may also have troubleshooting assistance built in, as well as databases with acceptable ranges for operating paramaters.
If you are looking at serious in-depth diagnostics, you may also need a handheld "scope" - scan tools only refresh as the ECM refreshes the data to the diagnostic coupler, every few seconds, because our eyes/comprehension aren't that fast. Some faults (like dead spots in throttle position sensors) occur so fast that they can easily be missed on a scan tool. You need a graphing meter to catch those, and if you are looking at waveforms like injector signals or ABS sensor signals, that's completely out of the scan-tool realm and you need a wave-form capability in a "scope" (which will usually also have the graphing-meter function as well).