Eclipse's philosophy and approach to IDE (Integrated Development Environment) is different to many commercial (and open-source) IDEs. It's approach is like an OS. The IDE has a kernel (unlike layered IDEs or an integrated IDE). Upon the kernel, you can fill the necessary plug-ins.
For example, if you wanna write C++ with Eclipse, you need CDT (C Development Toolkit). Eclipse is just an IDE, therefore you have to set its compiler. By differentiating IDE with compiler and plug-ins, it is good for beginners to understand the concepts of compiler and IDE.
For example, if you are going to write a C++ program on Windows (or Linux). The compiler you use can be MinGW (or gcc). You can also use the compiler (free one) developed my Microsoft as VC++ Express and use it with Eclipse. Eclipse does not have its own C++ compiler.
However, Eclipse is an IDE. You can debug your code using its graphical interface. Another unique feature of Eclipse is that for each job (task), Eclipse has a different view. Some people hate it but after some practice, you'd really love it. Believe me.