some development boards have onbard programmers, e.g. a Microchip starter kit
https://www.microchipdirect.com/ProductSearch.aspx?Keywords=DM180021
also have a look at the MikroElektronika range
https://www.mikroe.com/pic/development-boards/
other boards require an external programmer such as the ICD3, PICKIT 3, etc, e.g. the Microchip PICDEM 2
**broken link removed**
when building your own PCBs one generally uses an external programmer (saves space and complexity on the PCB for a programmer)
if you are starting to learn microcontrollers I would start with 16bit devices, e.g. Microchip's microstick II
https://www.microchip.com/DevelopmentTools/ProductDetails.aspx?PartNO=DM330013-2
it has an onboard programmer, a header to plug into your own breadbards and comes with PIC24, dsPIC and PIC32 devices