ArduinoISP on Uno requires 10uF cap -- WHY?

When avrdude connects to the serial port the DTR signal is asserted, which has the side effect of triggering an auto reset. So avrdude then finds itself talking to the bootloader rather than the ISP sketch. The capacitor absorbs the auto-reset pulse and allows avrdude to establish proper communication with ArduinoISP.

More recent versions of the Uno bootloader detect corrupt serial communication (the bootloader and ISP sketch use different baud rates) and quit immediately. This usually allows avrdude to start working properly without need for suppression of the auto-reset.