For me IDEs are slow, complicated and the screens cluttered. There are so many panels, options, buttons, etc. All I want to see is the code. With vi and multiple screens I can have more than enough windows open. I let the compiler generate warnings and errors. With a fast machine running make I hardly ever have to wait too long.
Besides, cutting code is only about 30% of the effort in a project. Documentation, testing, support, meetings and more meetings take up the bulk of my time. I actually enjoy the time I get to do real work! Being more hands on feels good to me.
I will however use an IDE if I'm inheriting a project that I can hardly make sense of.
Efficacy depends on the language being worked with, of course.