I cannot believe no one has answered your post yet. I expected dozens of suggestions by now.
There is no one single compiler that is the best, but there will be some that better suit your needs than others. Almost all come in a command-line form, and several come with full IDEs wrapped around them. The catch is that the latest commercial IDEs are profit items, so companies do no distribute them for free, though some make their command-line versions available.
The biggest question is the target system: commonly Windows, Linux, or MAC these days. Linux is easy; you can download and install an entire Linux system like Mandrake or Red Hat for free, and use the popular KDevelop IDE. Unix/Linux simply come with compilers, it's not even a question. However, Windows development with them will be frustrating.
A Windows IDE is what many people seek, but are not so easy to come by. There's a lot of buzz about a great compiler, Borland's bcc, which is available for free (try "www.borland.com/products/downloads"), is one of the best, but it's strictly command-line. There are a handful of IDEs out there that can work with it, but they're geared towards medium to advanced users. I do understand from other contributors to this site, that it's still possible to get Borland's Turbo C++, which comes with an IDE. It's older, but still a solid Borland product. I doubt Borland cares there are copies of it floating around on the internet. Perhaps someone will post how to obtain it.
I haven't done significant Apple development since the Apple II, so I wouldn't know about that.
The whole jist of Linux is that it's free to the world, and Micro$oft is all about profit for its shareholders. The only reason companies give anything away, is to pull people into their camp, in the hopes that familiarity will turn developers towards their products. If ever a truly convenient bcc IDE comes out for free, for example, Borland will stop distributing their compiler for free. The only other alternatives I can see, is a solid Open Software IDE for Windows (and I'd contribute), or pirated software.
Cheers