It'll give specific codes if the car is designed to do so. The codes it reads are already being seen by your ECU, this reader basically pulls those errors codes from the ECU for you to see.
It powered by your car, so as soon as you plug it in, ignition or not, it'll turn on then search through the Codecs to find which your car uses. Then it'll scan.
Not sure those units come with general errors codes, but some cars can have manufacturer specific ones which just require a google hunt useually.