The ArduinoISP is a real USB to SPI converter with programming code in it. If you have an Arduino, you can have a
programmer. With that programmer, you can burn a bootloader into another ATmega328 and have another Arduino. The
one disappointment is the speed. The ArduinoISP is slow. It is slower than the serial port programmers we tested.
The FTDI-231X Uploader is a USB to serial converter chip, and is often used as a means to upload code from the
Arduino environment to an AVR with a bootloader. The bootloader does not have to be used exclusively by the
Arduino environment, but can be used for your uploading your own hex code.
USB to TTL Cables
There are several manufacturers of these USB to serial cables. The only thing I would be concerned with is the
fact that the FTDI cable pinout has become a sort of a standard, due to it's use on the Arduino. It is the one I
use, but the others are probably no better or worse, and likely have the FTDI chip in them. Be wary of the ones
having the CP2102. Some operating systems have no support at all for the CP2101, and the programmers will not work
on those systems.