A pic programmer is a circuit that interfaces the PC to the controller using the PC’s parallel, serial or USB port. It is used to write data to the microcontroller and also read it back for verification. It translates the digital logic levels from the PC to the more logical level for the microcontroller.
Most of the pic programmer except for the bootloader works mostly in the same manner. It generates the serial data stream using two signal lines clock and data. There is another pin that controls the programming voltage while two others will supply power and ground. There is another program that runs on the PC and takes the hex file generated from the compiler and translates it into the serial data stream. This will be routed to the programmer through the correct interface. From here, the programmer sends the signal to the microcontroller. Once all the data is sent, a serial configuration word is sent and the microcontroller becomes ready for use.
You will find several PIC programmer circuits in the market and all of them will more or less the same thing. These are supplied empty and are without any program codes. It is the task of the programmer to provide it with a program that will tell it what to do. You need to make sure that you buy quality product from a reliable supplier so that they can be used as they are intended to without facing any issue. Even then, many people are not happy with the programmers that are available in the market and choose to build their own pic programmer circuit for better control.