There are two main ways an Arduino can be programmed.
When you use the Arduino IDE to program a board over USB you're using the capabilities of the Arduino bootloader. The bootloader is a small piece of software that will check if it's getting a signal to be programmed when it boots and if not then it will send the execution pointer to the beginning of the code section. If it gets the signal that it's going to be programmed it will listen and write the incoming program to the code section and when it's finished it will reboot. This is using the chip's self programming ability to make it easier for people without the hardware usually required to program the chip. This is why you only need a serial converter like an FTDI chip to be able to program a chip with the Arduino bootloader on it through the serial interface.
The other method is using a hardware programmer to directly write to the memory on the chip. The programmer you bought from Sparkfun is an example of this. The Arduino IDE isn't really set up to use this type of hardware. You'll want to use something like
http://www.atmel.com/Microsite/atmel_studio6/ As others have mentioned if you use the programmer you're going to overwrite the Arduino bootloader. It's not really that much of a problem since you can download it off the chip and save it, or get the image online and reload it later. The advantage is you get the full resources of the chip as the bootloader isn't taking up any space.
When you step outside of the Arduino environment you're going to find things become a lot more complicated. The Arduino libraries hide a lot of the underlying complexity of working with the chip. You'll need to have the datasheet
http://www.atmel.com/Images/doc8271.pdf on hand to know how to set up the chip's registers yourself. It's a much steeper learning curve, but it's rewarding as you get the full capabilities of the chip. The Arduino libraries restrict some of the chips to maintain backwards compatibility. You'll need to keep in mind that the way you interact with registers can change depending on the compiler so you'll need to have that documentation on hand too.
Oh and if you do program the Uno use the header on the far edge of the board not the one by the USB port. If you flash the one controlling USB by mistake you won't be able to use it until you reflash it with the correct firmware.
Edit: I noticed the PocketAVR is for avrdude. You own't be able to use it directly from the Atmel IDE but you can compile from the IDE and then use avrdude separately to push the firmware.