First of all, the programmer allows you to connect your robot to your computer via a usb or serial port and use certain software, (either AVR Studio 4 or that and PonyProg - depending on which programmer you choose) to program your robot. without a programmer your robot is useless.
Second, there are two types of "programmers" you can use to program your robot - both are mentioned under the "optional" table underneath the main parts table.
The CHEAP programmer, "AVR STK Serial Port Dongle Programmer" has a 10-pin connector...therefore you would need to solder the original 10-pin programming header as shown in the $50 robot tutorial. To use this programmer read this page: http://www.societyofrobots.com/step_by_step_robot_step4.shtml
Forum members have posted that they have had issues with this programmer - slow programming, only select ports working...etc.
However, based upon the opinions of experienced robotiscists on this forum, they all recommend that you purchase the more expensive programmer: "AVR ISP2 Programmer
" This programmer has a 6-pin connector, unlike the Dongle Programmer. - The link to buy it can be found here, on the parts list for the $50 robot: http://www.societyofrobots.com/step_by_step_robot_step1.shtml
This programmer is fast, and you only need to use AVR Studio (NO PonyProg) to program your robot.
Third, if your have already soldered the 10-pin header (2 rows of 5 pins) on your board, it is recommended that you simply unsolder it, and replace it with a 6-pin header, for the AVR ISP2 Programmer. Here is a link which you must read through carefully
in order to determine the proper wiring for the 6-pin header for the AVR ISP2 Programmer: http://www.societyofrobots.com/robotforum/index.php?topic=1045.0