I've been working with AVR since 2016. To start off, I purchased the Pocket AVR Programmer from Sparkfun and have been using that up until very recently.
A project I've been working on for the last 2 years finally made it to the prototype PCB phase. I designed the circuit around the ATMEGA328PB, but instead the assemblers installed a MEGA328P. Since I used SPI module 1 on the 328PB to drive the LED display using 74HC595 serial latches and the pins used are analog only pins on the 328P, this rendered the display completely useless. However, I wanted to test what I could using the 328P to ensure the board design was solid.
In the process of setting the fuses, I accidentally programmed the debugWIRE fuse, which got the chip stuck in debug mode.
Unfortunately, since the Pocket AVR Programmer is just a programmer and not a debugger, there was no way I could use it to unprogram the debugWIRE fuse.
So I did some research and learned about the AVR Dragon, which is both a programmer and debugger. I learned that with the Dragon, I can start a debug session in Atmel Studio, then exit debug and unprogram the debugWIRE fuse.
I then ordered a Dragon, and wala! It worked without a hitch and recovered the processor to normal operation.
The AVR Dragon is a full featured programmer/debugger that supports all programming modes - ISP, PDI, debugWIRE, high voltage programming, parallel programming, and JTAG. It also has a prototyping area where you can install a ZIF socket for working with PDIP devices. It is also compatible with Tag Connect's pogo programming cable, which is what we will use to program our boards via ISP. It is also fully compatible with Atmel Studio, and Atmel Studio even comes with the AVR Dragon drivers so there's no additional software to install. Furthermore, Atmel Studio can also update the Dragon firmware, and even notifies you when the firmware needs to be updated.
About the only thing I wish they would add to both Atmel Studio and the Dragon programmer is AT89S compatibility as I work with those as well. But for now I'll keep using the AT89ISP programmer. Just need to test it with a USB-LPT cable to see if it's compatible since the AT89ISP software only allows the use of a printer port.
Overall, I think the AVR Dragon is the only programmer/debugger you'll ever need for AVR devices.