Why are some IC's programmable in circuit, but others aren't?
Depends on the circuit. If the ISP pins are not broken out or accessible, you will need to remove the chip. If the ISP pins, essentially SPI, are being used for something that will mess with the programming, the chip has to be removed. If the ISP pins are being used as GPIO and tied high or low, that could mess with the programming.

If you somehow messed up a circuit and tied a ISP pin to vcc/ground, that would certainly require the chip to be removed.

If you mess up a fuse where the low voltage ISP is not able to fix it, you have to resort to the High Voltage programming mode, which at 12v, could kill some circuits, you would want to remove the chip.

ISP requires that the target AVR chip be running atleast 4 times faster than the ISP clock. If it is not, ISP is not able to be used.