All recent PICs are serial programmed, there is a command and data sequence sent to certain pins (PGC, PGD and PGM) that make the PIC switch from 'normal' to programming mode. In the case of high-voltage programming, there is also the VPP signal to switch at the right time. The relative timing of these signals has to be accurate or it will either fail to program or place wrong data in the PICs memory.
On legacy serial ('D25/D9') ports, the pins on the port were programmable from the PC software so it was fairly easy to manipulate them in the required order. These days it is rare to find a PC with a standard serial port, they have all moved over to using USB. A USB port does not have individual control pins like the old ones, all the signals are embeded in a single data stream.
If follows that USB cannot directly program a PIC, what it takes is another device to interpret the commands and data from the USB data and convert them back to the signal sequences needed by the PIC. That is what the embedded PIC on most programmers (like the Pickit) does.
Although it may seem like a backward step to make the additional USB to PIC conversion, it does make the programmer more versatile and portable. Incidentally, PICs have never been programmable using RS232, the serial port programmers like JDM and hundreds of variations, only used the +/-12V RS232 pin voltages to derive the VPP needed by the PIC, that is why they are notoriously unreliable on PCs with 'weak' RS232 drive levels.
Brian.