I'm on the fence when it comes to intellisense. It teaches people to stop typing at dot and wait for a friendly menu, but I can see why it would be more "neat" than keeping a reference open while you work. If you're like Sharke and it gets in the way more than not, it's probably better to turn it off and let yourself focus better on what you're doing.
Intellisense is basically autocompletion. Are we really arguing whether autocompletion is a useful time-saver? I make use of Explorer's autocompletion all the time, and tab completion in UNIX shells. Is that making me dumber-er? I hope not.
Intellisense is ok but it is usually incorrect or misleading or both. It is not much of a help with large objects since it takes longer to scroll down the list it provides than it does to just type the information in. It is nice when you are lazy and do not want to go back and look at the header but again it is not always correct. And if you have functions and members that start with similar characters it can be a real chore when Intellisense continually picks the wrong one. But I do like using Intellisense when it brings up the prototype of the function you are passing params to. That is very handy when you have an API sitting out there but don't want to continually consult the reference for it. This is especially helpful on things suchs as the Direct3D API, Windows API, MFC, OpenAL, and pretty much any third party API. A very bad thing about Intellisense is that templates are like kryptonite to it. Any templated object will just about kill Intellisense altogether. Boost is a prime example. If you use Boost pointers in your code you will find that Intellisense is completely baffled by it.
I use Intellisense primarily as a quick reference and very rarely as an auto-completion utility.
Also remember that you can narrow the list by typing out sine characters of what you want.
IntelliSense also helps in that it helps you remember the real name of the symbol you want to access.