What is the platform you are using? For instance, Visual C++ will not be of use to you on Linux.
Actually, the three you mention are the three I'd have picked, for these reasons.
gcc/g++: open source, proven, refined by years of collaborative experience on many Linux and UNIX systems. The not-so-strong point is merely that it is a stand-alone command-line tool. You can make, or possibly find, your own IDE-style environment but it doesn't "ship" that way, so to speak.
Visual C++: well supported by Microsoft, loads of code samples and documentation (MSDN), naturally hooks into the Windows APIs. The not-so-strong point is that it's not especially, well, "visual." If you're used to Visual Basic (say) you'll find Visual C++ doesn't work the same way at all.
Intel C++ compiler: alas, I have no experience with Intel's compiler but I am lead to believe it supports parallelism and has high-precision numeric libraries.
Another maybe worth mentioning is Borland's C++Builder. It gets a plus for being a rapid application development environment with a wealth of add-on controls via compatibility with Delphi's VCL, but conversely code developed in C++Builder is not easily portable to other C++ compilers.