Personally, IDE's generally get in my way. I prefer a good programming editor, Makefile, debugger user. Each can run in its own window and don't interfere with each other. I have used a lot of different IDE's including Visual Studio, Eclipse, Qt-developer, and others (some that no longer exist). All have their good and bad points, and all eventually get in the way of software development. The only real GUI-based development tool that I currently use is Sparx Enterprise Architect, a full-featured UML modeling and model-driven-design tool that can reverse engineer source code to generate UML models of existing code, or generate code from models. I spend most of my development time there, then generate code - build, test, fix, and then pull the code changes back into the model for further analysis and simulation.
I agree with Narue -- VS is my favorite too, especially because of its debugging capability. But 2010 is terribly slow starting up. I recall that VC++ 5.0 had a similar problem that M$ corrected in VC++ 6.0. Hopefully they will do the same with 2010.
On the rare occasions that I boot into Ubuntu and compile there, my favorite is Code::Blocks. Before that it was vi.
KDevelop on Linux (Kubuntu). I agree with rubberman that IDEs can get in the way of effective coding (make you waste time on setting up projects and settings, and load times and stuff), but KDevelop is not one of those that do. It's by far the one I like the best, but I generally use it essentially as a text editor (i.e. I compile and debug in a terminal opened next to my IDE, but not because KDevelop doesn't provide that, just that I prefer it that way). In that spirit, the two main characteristics that I like are friendliness to third-party software (compiler, debugger, GUI designing tool, build system, etc.) and fast code completion (and code highlighting, and thus, the background, real-time code analysis required). I tend to write a lot of heavily templated code (generic programming and template meta-programming) and very few IDE code completion systems can keep up with that, KDevelop is one of them, while Visual Studio 2010, CodeBlocks, QtCreator, and Eclipse all fail miserably or are way to slow to be useful (e.g. VS2010 needs 4 of my processors running at full speed to analyse the code fast enough to produce useful code completion suggestions in due time).
I use Eclipse for almost all development i do, i admit it's quite resource hungry but really expandable in quite a few ways. A fun example is that i wrote a (really simple) SDL game engine in CDT and i made a plugin for eclipse which became the game editor. Development went really fluent. Pity I lost that hard drive.
Though, if i want to try quick scratch code, i tend to start up DevC++ for it's speed and "click-click-code-compile" interface.