So, I tend to develop using TextEditors, GnuMake, KornShell scripts, and a source control system such as GNURCS. I am a big believer in cleanroom builds. These "project" files hide a lot about what is going on. I'm naturally distrustful of these systems so I stay away.
I would also contend that the use of the IDE is very "windowsy" whereas the use of a toolbox of little tools is very "unixy". I'm a product of the Unix/VMS environment which is lots of tools you run from a command line. In other words, I'm a bit of a dinosaur!
Let's look at what your typical IDE includes:
Some have more advanced capabilities such as:
It seems to me that many of the top text editors also have such capabilities. The rarest capability seems integration with a debugger.
The IDE that is taking over the world at this point appears to be IBM's Eclipse project, at http://www.eclipse.org
Eclipse is free and open source (though there appear to be some payware add-ons appearing.) It's written in Java, so it's cross platform, and will run on anything that has a current Sun JVM. As an IDE, it's an "everything *including* the kitchen sink" product, with editor, class browser, project manager, and all the other bells and whistles. It's intended for writing Java code, but can be used for pretty much any other language, though you may need to install an add-on or two for things like syntax highlighting. Borland was trying to unload its development tools a while back because Eclipse was taking over. Why buy JBuilder or C++Builder from Borland when you could get Eclipse free?
I think the fundamental assumption behind IDEs like Eclipse is that programmers are not working alone. They're part of a programming team, working on specific parts of a larger project, and including code written by other members of the team, as well as code that may come from outside the team. Therefore, the IDE must support things like modules, class browsing, and access to source code repositories like CVS or Subversion, as well as integration with build, test, and debugging tools, and communication with the rest of the team.
If you want to view it that way, Emacs is also an IDE. With the appropriate elisp extensions installed, you can do all of the above. An old friend who was a Unix developer used CCA emacs, and said "Why would you ever leave it?" Emacs wasn't only his editor -- it was his shell. He invoked emacs when he logged on and stayed in it all day, as he could do everything he needed to do from within emacs - edit, compile, test, debug, access a shell, read and write email and news, even play games.