The Arduino IDE has limited capabilities. It is basically a text editor with some additional capabilities to add the tool chains for various Arduino boards and call them to build the executable.
An alternative is Eclipse since it has a plugin that uses the Arduino directories to control the Eclipse project. But Eclipse adds many capabilities for working with C++ (and C!) that make it a better choice than the Arduino IDE. If you have features of Eclipse that you like that weren't mentioned that's what comments are for.
There are other options to chose from and the article's comments list some of them. I'll try to remember to make a list of them somewhere in this project. Feel free to add comments here about other IDEs. No flame wars, please. Just factual descriptions of what works, how well, etc.
I'm going to be using Eclipse since I am used to working with it.