What does the USB bootloader do in the PIC microcontroller
The bootloader lets you reprogram the PIC from the USB port, taking advantage of the ability of the controller to write into its own program memory.  Usually, it checks to see if some criteria is met, like some bit being set high, before entering the programming mode.  It will shift your program into higher memory space to accommodate the boot loading protocol at the normal start vector.

This is the way to go if you see a need for something like an end-user updating the firmware on your device without special programming hardware.  

Serial port boot loaders are a bit easier to learn, as you don't have to deal with the USB stack.