Uploading Program to Arduino Using FTDI Cable or Programmer
Most standard Arduinos require only a USB cable to program. This includes Duemilanove and Mega, for instance.

If you have an arduino with the 6pin-interface in one line, like the Arduino Pro or the Boarduino, you will need either a FTDI cable or a FTDI breakout board and a USB cable. 

You will have to check the required Voltage first, because the programming interface can be 3.3V or 5V. 

There is quite a variety of cables / breakouts available. I personally chose to go for the FTDI breakout board from Sparkfun. I did not want to have another specific cable lying around. 

The FTDI cables are basically USB cables with the FTDI built in.