I'm personally an advocate of
Bloodshed Dev-c++ as far as a free IDE goes (for windows of course) Its also very popular in the windows community
Eclipse The Eclipse IDE has c++ (plugins?) if I understand eclipse correctly, it's a very modular IDE, with different compiler backends all connecting to the Eclipse IDE. Regardless, there is a way to compile c++ with it.
I've also seen
code::blocks be highly regarded.
Note, I'm only concerning myself with windows development, but as people have said before, gcc is very competent, and you can do very well with it (IDE's are nice though) I'm sure there are plenty of frontends to gcc for linux, unix etc
Hope that helps
-Dan