skyjumper:
If your choices are WinAVR, AVRStudio or AVR-GCC from the command line/make.
Those aren't really 3 separate choices, as they are three separate 'toolsets' that should be used together to provide a comprehensive development toolchain for your AVRs.
WinAVR is a toolset package for the AVR micros (Does not provide an IDE**).
AVRStudio is Atmels IDE for their AVR micros (Does not provide a library or compiler***).
AVR-GCC is a free C/C++ library & compiler for AVR micros(Does not provide an IDE).
** avr-gcc is included in the WinAVR package, though they're both technically separate projects. WinAVR is a toolset package for the Windows platform, though most of the tools it provides are developed separately.
*** I believe AVRStudio does provide an Assembly Language compiler, but no built in support for higher level languages.
AVRStudio in itself does not provide a C/C++ library or compiler. Most people use WinAVR and avr-gcc in conjunction with AVRStudio.
The Arduino IDE also uses WinAVR and avr-gcc under the covers as well.
To my knowledge, WinAVR and avr-gcc are the only freely available C/C++ library/compiler. There are several commercial products out there you can purchase for AVR development, but they aren't cheap, and not really worth the cost for hobbyists.