I love a good IDE (RubyMines, for example), and in general a well-engineered IDE designed from the ground up for your language and development stack is going to be superior to emacs or vim.
However, I'd feel crippled overall as a developer if I didn't know one of those two (vim in my case). For one thing, a lot of the best IDEs are not free and some are very pricey. I'm not going to go out on a huge spending spree buying a bunch of IDEs just for little experiments I want to do in my spare time. More importantly, though, it is quite often at work that I need to edit code in a variety of languages, and it is simply more productive to be able to edit the code in one editor rather than having to fire up multiple IDEs. Not to mention the need to occasionally make quick edits from within a terminal.
Using vim frequently also keeps me up to speed on terminal commands for lots of modern tools. When I was in college I used IDEs almost exclusively, and whenever I found myself needing to do something from the terminal, my God it sucked. I was crippled. Now I feel more like a jack of all trades who can be productive in mostly any environment.