When the programmer uses a micro controller, the micro controller handles communication with the slave device.
This way is more reliable in terms of communication errors in comparison to using a port on a PC.
Depending on the protocol used in programming the device, most times it is necessary to use a micro controller in the programmer.
For example, the Atmel AT89S52 requires a MASTER SPI interface as the programmer which is not available in a USB port, but can be
adapted with a parallel or serial port without the need for another micro controller.