AVR ISP2 Programmer - This is the best of the programmers. It is also the most expensive. Supported by atmel, this programmer can program any AVR chip. Connects to a USB port on your computer.
AVR STK Serial Port
Dongle Programmer - This is the cheapest. Its less than half the price of the ISP2. The variety of microcontrollers it can program is limited. You can find a list of chips supported
here. Supports the atmega8, the chip used in the $50 robot tutorial. If you're not certain that building robots is right for you, this is the programmer to go with. Connects to a serial port on your computer (so make sure you have one before getting this).
Pocket AVR Programmer - I have no experience with this programmer and haven't heard much about it.