168 Bootloader Error

I am a bit confused due to the sometimes conflicting information.
Which ISP programmer will work and which one won't? Can I get away with using a quick and dirty parallel programmer? What about all those non-Atmel programmers which claim to be STK500 or AVR ISP compatible (but sometimes have additional features, like USB)? Don't want to spend lots of money on an Atmel serial programmer when I can get a compatible one with USB for a fraction of the money. And then it supposedly seems to depend on which OS and programming software you use... Too much input.

So what's the consensus for the most reliable and cheapest idiot-proof programmer out there? Can't hurt if it's available locally so it doesn't need to be ordered abroad which usually adds a lot of taxes and postage.