I might add that I once was an almost evangelist-like BSD supporter, developer and user. I got settled on this and now tell people that for every task there's the appropriate tool -- may it be called CentOS, RHEL, AIX, OpenBSD, NetBSD, Solaris, FreeBSD or similar.
And I'll add that besides that three, I can move my work easily to an operating system supported for most of middleware and comercial database vendors.
1) Free as in freedom (... and as in free-beer, even if I'd like to donate, if only the web page gived me the information I need... :) )
2) quality
3) Something that doesn't change every 6 month and on which I can achieve a solid knowledge base. A deep knowledge of CentOS is a better investment that learning in deep Fedora or Ubuntu because what you learn with them could become obsolete in a few months!
I am in a rather unique situation because our university has a site license to RHEL, so CentOS offers no price break. However, I have deployed a couple of CentOS servers because of CentOS Extras and ATRPM integration. These "should" work smoothly with RHEL as well but I've found that it's best to avoid surprises such as when an RHEL update comes out. I'd actually like to see even more in Extras, such as a fix for this little annoying bug which has been delayed for about 3 years now:
https://bugzilla.redhat.com/show_bug.cgi?id=217630
Before RHEL5, I also used CentOS because of yum support.
1) Price, I work in a University so a, we have a budget (and thus free is best) and b, we bring up and take down dev/test boxes all the time. Testing on CentOS before deploying RHEL would be an option, but why bother? If it works on CentOS in dev, then CentOS is good enough to run it in production.
2) Stability, both in terms of day to day reliability and the long support cycles. I can roll out a new PC/server with the latest CentOS and be reasonably sure it won't need an upgrade during its lifetime, but will remain secure and reliable.
3) Other software is generally available for RHEL, and these packages generally work without modification (or at least minimal modification) on CentOS. Unlike Debian/Ubuntu, where they can be vastly different targets (with difficult to fix dependencies) although they both share Debian ancestry.
4) I'd like to say CentOS support but in all honesty, I've never needed it. The last issue I can remember with CentOS is a strange bug with in.tftpd not performing filename remapping (easily fixed with a Google search) and the issue before that was a Grub issue with an ancient DPT i2o SCSI controller, which was a RHEL4 issue and I found the solution on the RHEL Bugzilla. RHEL support is good, as you'd expect from an enterprise product, and it's often quite easy to come across a solution on the web even if you're not a paying RHEL customer, in my experience.
Company policy, which I'm hoping to change asap. For the most part, they're much the same, and CentOS/RHEL even have a lead on things like SSO, but Debian-based distros are really much better for package availability and package quality. That's a killer feature for me.
CentOS is the most:
Stable
Secure
and Reliable
Linux OS around. Not to mention it's free AND it's Enterprise. It's the best I've used on linux powered server, and I will NEVER change it or use a different linux distro.
I agree with most posters about stability, reliability and security. That is why I also run Centos on the servers where I work as well as at home.
I also like fhe file system layout and the rpm packaging system.
However, there are a few machines on which I run Ubuntu. There are 3 reasons, and one of them may already be solved.
1) Support for laptop hardware and proprietary video drivers was hard to come by a couple of years ago. I suspect that this is already fixed, or will be fixed with Centos 6.
2) The only versions of Mono I can find for CentOS are woefully out of date. If I had time, I would fix that with a set of rpms. Maybe someday.
3)Media related software under Linux is still acquiring necessary basic features. That includes the Gimp(more than 8 bits/color -- my camera does 12) as well as many of the newer apps. They are quite usable, but they are each still missing significant corners. Ubuntu's 6 month upgrade cycle keeps me relatively close to the implementations of those new features as they come on line. In another 2 or 3 years when those applications have covered their basics, then it will be time to switch my media workstations to Centos to reduce the upgrade churn associated with the short upgrade cycles.
By the way, Dag has Cinelerra packaged for Centos 5 and you can't get it on Ubuntu without building from source. So I do have one media pc set up with Centos 5, but I will be glad when I can move all of my media stuff to CentOS.
In addition to the other great (and obvious points) there was the practical point that once we started looking for private server hosting for a new online product, it was much easier to find hosters which support CentOS/RHEL than Debian (my favourite until then) or other distributions.
I agree with most answers. I run Ubuntu server and desktop as well as CentOS to keep up with all that changes in both worlds. I use CentOS as infrastructure servers on my network because of reliability, stability, and support. In the mixed environment, I get confused on syntax or file locations now and then, but it works out well in the end. OpenSolaris is only on a dev machine, the real work is done on CentOS and Ubuntu. I don't know of anyone wanting Linux infrastructure that doesn't want RedHat or Debian. I could use Fedora, but I want stable servers. For the people who see a distribution as a tool, I agree, and both CentOS and Ubuntu servers are rock solid.
I'm seeing a lot of small business server software based on CentOS for all of the above reasons. Supporting it is easy.
I've been using Red Hat or its variants for my entire Linux life and it is the best system out there and it shows no signs of stopping. It makes an extremely reliable and stable system that you can't going wrong with.
Free, stable, backing of the excellent upstream developer and dedicated community.
With additional repositories and some self compiled packages from Fedora I even have excellent and stable desktop system.
Right now I am going back to CentOS because I have 5 machines (3 recycled from a thrift store), and I can only get Ubuntu (9.10) to install properly on one of them. I thought Ubuntu was supposed to work well with a lot of hardware, but my experience has been different with 9.10.
I recently bought a recycled laptop and had to replace the battery and drive, which was something I did for the experience.
Windows XP kept locking up on this machine and complaining about the drive controller in the system event log, Ubuntu would keep having temporary freezes for more than 10 seconds at a time and lots of output was visible by using the dmesg command.
CentOS.... just worked with no complaints. Now THAT'S what I call a quality Operating System!
I think you are being a bit unfair to yum and rpm these days! On the more modern installs they are fairly quick. yum-3.2.2X is just as quick as anything else doing the same sort of a job.