Note: This article is under development, please leave comments to help refine it.
Okay, many newcomers to C/C++ seem to have various problems choosing ‘The Right Compiler’, the truth is that there is a considerable selection of compilers on variuos platforms and usually you’re better off with just one of them. So let’s start with this, I’ll list the compilers and give information about them as well as where you can get them, maybe some other time I can talk about IDEs/Editors/Environments, since that would make this article too long. Also, I might make other articles on installing and using individual compilers.
Microsoft’s Visual Studio Series [URL] - Compiler and IDE
These compilers are pretty good, I’d recommend them to anyone. They are very verbose and can help greatly in debugging problems and what not, for the Microsoft Windows platform, they’re probably your best bet. There used to be a command line toolkit, the Microsoft Visual 2003 Toolkit which was available for free, and was the exact same compiler used in Visual Studio 2003 Series, minus the IDE and goodies. However, now, that distribution has been replaced by Visual Studio Express Series [URL], a collection of IDEs and Compilers for various languages (C/C++, C#, VB, J#, ASP.Net, etc.), this has a lot of functionality and gives you a lot of control for many things, there’s nothing to lose if you try this one out.
Borland’s Free Command Line Tools [URL] Compiler
Borland’s free command line compiler version 5.5, although old, is still pretty popular among hard-core windows programmers for some reason. I used to use this compiler for a while and it was pretty neat. The installation is a bit tricky [URL] [URL2], but after installed everything’s smooth.
Mingw [URL] Compiler
This is pretty much a Windows implimentation of the famous ‘gcc/g++’. Because of it’s close relation to gcc/g++, many *nix based projects which usually have windows ports/builds are built using mingw and include makefiles which use it. I quickly learned this and also I was able to build DLL plug-ins for XChat a lot easier than when using Visual Studio Express for some reason, probably because with gcc you have to be more explicit rather than have it configure everything for you as with Visual Studio Express, so in some terms, mingw might give some users more control.
GNU Compilers [URL] Compiler
The GNU collection of compilers, there are various ones, but the most used is gcc, as well as g++ which, to my knowledge, is just an alias of gcc with C++ compiler settings. These are the most widely used compilers in the alternate OSes, such as in Linux/UNIX/BSD.
Dev-C++ [URL] Compiler and IDE
This IDE uses the Mingw compiler and is pretty popular. It has many options and makes compiler setting configuration pretty easy. I used to use it when I was new to C++ as well as do many others. This IDE has it’s own packaging format which makes installing development files/APIs/libraries pretty simple. Just download the package and install it. It produces pretty slim and fast binaries, definately worth a try.
Code::Blocks [URL] IDE
This is a pretty complete IDE if I may say so myself. It is really polished and cross platform, it is probably the most complete IDE, and the only IDE which I know that fits the definition of IDE. It lets you use any compiler you want, including but not limited to the ones mentioned above. This IDE has autocompletion (Microsoft IntelliSense equivalent) and many other tools as well as plug-ins which facilitate things such as GUI designing in WxWidgets.
Eclipse With CDT Plug-In [URL] [URL2] IDE
This is a pretty complete and nice IDE written in Java if I’m not mistaken. The IDE is primarily for Java programming, but many projects have enabled it to be used with Python, C#, JavaScript, PHP, Ruby, and many more including UML designing; this is truely a great base IDE. On the Windows platform it’s primarily used with Mingw unless configured otherwise, and on the *nix platforms, gcc is used of course.
KDevelop [URL] IDE
KDevelop is pretty similar to Eclipse in that it’s a pretty neat base IDE (Which supports many languages) and like Visual Studio in that it has loads of features and API Documentation help/browsing. It also comes with an Interface Designer for Qt which is pretty neat. It of course uses gcc or whatever other compiler for which language you’re developing for.
Anjuta [URL] IDE
Anjuta is pretty much the KDevelop equivalent for the GNOME although I believe it should run on other environments. I’ve seen many people who rave about this one, although I myself can’t say much for it as I haven’t used it much myself if at all. If you have any comments on it please leave them below.

You forgot Geany. The best IDE ever. Seriously. It beats them all.