And that's not even mentioning GUI-oriented IDEs that provide you with a WYSIWYG editor.
Of course, IDEs vary in what features they provide and the type of projects they tailor to. Also, many tools exist for only specific tasks (features), and many programmers prefer that, especially in Unix-like environments, where programmers often opt for an enhanced text editor for coding (providing only the "code-writing" features) and use external tools for the rest (a build-system, a debugger / memory analyser, specifically-targeted run-time analysers, version control systems, unit-test frameworks, etc.). Many IDEs are also little more than a thin wrapper that provides user-friendly integrated access to these task-specific tools. This very much depends on the language, the target platforms, the type of project and the size and organization of the development team.