Male headers are generally less expensive and, with exposed pins, less likely to pick up internal contamination (for example during washing of the boards) without the necessity of seals that have to be removed etc., so they're generally the better choice. Most products are not designed to be exposed to troubleshooting or repair by unskilled people, and usually a short will cause no physical damage anyway (supplies are current limited and only logic voltages are on the connector). If you are sharing the connector with higher voltages, negative voltages or AC you may have other concerns.
Of course you can use pads and pogo pins or a Tag-connect cable, but a simple header allows anyone anywhere in the world to make up a suitable programming cable in a pinch. And they're cheap and reliable.
As far as programmers- many of them such as Segger, Lattice, Atmel SAM-ICE, STlink V3, PIC-KIT3 etc. have male pins in an shrouded header and an easily replaced F-F IDC ribbon cable is used between the programmer and the board. The only ones I notice that do not are Microchip ICD-2/4 which still use the original RJ11 female jack.