First, bootloaders are faster than a programmer. Second, ICSP takes up more pins (3), and limits the hardware to the pins. A bootloader only takes two serial pins, and if you already have a serial connection, requires no special treatment. Third, if you have the board in an enclosure, it is safer to have a serial connection to the outside world than your mclr pin.

In reality, from a hobbyist standpoint, it doesn't make a big difference. It is convenient, however.