Everyone has a favorite tool for any given job. For programmers, the building process is often a relatively brief job in their workflow, but it's the one that really matters. After all, without compiled code, there's nothing to distribute to users. And different compilers have different features and—whether or not there's a bug about it—quirks. Compilers matter.
A compiler's never just a compiler, though. When you decide upon a compiler, you're usually committing to a whole toolchain. There's always flexibility in open source, but if you want to take advantage of what a compiler offers, it's usually best to use the kind of workflow that its maintainers and developers expect. That means using Autotools with GCC, or Ant with Javac, and so on.
Finally, investing in a compiler often means joining the community around that compiler, whether it's just to get alerts about updates or to actively socialize with other users. A compiler without a community is like a tool without a shed: it still works for what it was designed to do, but sometimes it gets rained on or misplaced.
Whether you use compilers daily for development or just occasionally when building the odd application from source code, you probably have one that feels comfortable to you. Maybe not quite as comfortable as that old pair of shoes you can't get rid of, but at least as comfortable as an old tool shed. What do you set CC to? If your favorite isn't on our list, tell us about it in the comments!