I bought a USBTinyISP way back (Oct. 1, 2008, just checked!) and it's worked like a champ all these years. I was having problems with an Arduino UNO that I've put through the wringer. Recently it wouldn't take any new code and trying to flash a bootloader as a solution on it failed.

Thinking back to the old Apple ][+ days where reseating chips would often fix problems, I popped the AVR 328P out of its socket, put it back in... voilà! It works! Uploaded a few sketches to test and flashed in the bootloader to verify that aspect of things.

There was no need for a new bootloader, but I am posting this here as a possible solution to the dreaded "avrdude: initialization failed, rc=-1" message.