Still, that's what I call a server distro ;-)
Debian is a great, stable distro. Even Sid, the unstable, rolling branch sees little breakage overall. Sane defaults, package maintainers who care about the minor rendering bugs in obscure packages and make the effort to patch said bugs. I'm continually impressed by the fit & finish of Debian, especially in context of how deep the Debian Archive is, with 68 thousand software packages in total.
But, the 'stable' server is rather amazing. I (used to) get into rpm-hell with centos/redhat in a matter of weeks. Even ubuntu will break stuff more often than not when crossgrading from 'major' versions.
1) No need for EPEL and similar extra repositories. Debian is extremely comprehensive.
2) Rolling updates. We keep some servers in the stable release, some in the testing release. No hiccups on upgrade, yet.
Servers you keep on the stable channel will go through the same kind of upgrades you see on major CentOS versions. I never had a CentOS upgrade go smoothly; We'd usually just reinstall everything from config management. When Debian 8 came out, we opted for a distro-upgrade and everything was perfectly smooth. It took longer to go through change management (cycle out of production, test, slowly reapply load) than it took to actually upgrade the servers.
The servers we keep on testing are non-critical, and go through much more frequent distro-upgrade cycles. We had a couple bumps on the road, during the sysv init to systemd transition, but overall I still classify the distro as extremely solid and much better than our previous experience with CentOS.
AFAIK CentOS does not support distro-upgrades (eg. upgrading from CentOS 6 to CentOS 7)[1], we always end up making a fresh install whenever we want to upgrade, i've tried to use the UpgradeTool a few times but it didn't work (there was always something blocking the upgrade).
I believe this would be a point for Debian, the upgrade between releases just work :)
However, this also comes with a perk. CentOS releases are generally the "current" release for at least three years, as opposed to two with Debian. Also, major releases are supported with critical security updates for years after they are no longer current. For example, CentOS 6 will still receive patches until November 2020.
Of course, whether this is important to you will vary based upon your needs. For some, the 2 year releases with an easy upgrade path between major releases will be the more important factor.
That being said, for RHEL 6 -> 7 I did a clean reinstall due to the large architectural changes and it was the right decision.
Yes, Debian is comprehensive, but it comes at a price. Red Hat/CentOS are much better at maintaining the (fewer) packages they support and providing timely patches.
Bugs in less critical Debian packages sometimes linger for years.
That being said, Debian is a great server OS and the only one except CentOS that I'd recommend to anyone.
I just started out with Ubuntu but realised that Debian seems to have more control over their packages and have a much more stable ecosystem which I value. Also .deb packages always seem to be available for basically any software distributed for linux and why make life hard?
I think we all just just grok the way our distro does things.
Just nitpicking, nothing else to add.
Likewise a few of our custom system management packages need tweaking when new versions come out, but aside from that no problems with 1200+ servers.
Generally it takes us about 12-18 months to get round to moving things on, and an OS upgrade is a great opportunity to kick us into a 'do it now' state.
So many annoying bugs. Debian QA is much better, but Red Hat takes the cake. Their attention to even little details is remarkable.
Probably right on the basis of the above however.
It really does feel like Debian will be one of the only distros we have at the moment that will still be around in a hundred years.
* The general tooling is far better, lately, for example, I played with the tools used to build packages in clean chroots of each distributions: mock for CentOS, cowbuilder for Debian, cowbuilder is a lot more powerful, copy on right support, ability to build several packages in parallel, more switches in the cli arguments... mock is far more limited even if it does the job. Also I love reportbug, even if it seems antiquated at first (bug tracker based on emails, wtf!?), it's really really really convenient as it automatically grabs the information regarding the buggy package (logs, version, dependencies version...) and let you simply review it.
* Debian as more packages available, even compared to CentOS+Epel
* Debian as backports if you really need newer versions of a package
* If you want/need to be on the bleeding edge, sid (or unstable) is a great rolling release.
* Debian does a better job at maintaining stable version of a given software (I remember a few years ago, CentOS/RHEL updated OpenLDAP server to the latest version, which broke my directory on my (dev, fortunately) infrastructure due to a change in configuration format, this never happened to me on Debian).
* If you have relatively clean upstream, packaging is nearly automatic on Debian thanks to all the dh_<helpers>
* at least until CentOS 6, yum was a slow and fragile beast IMHO, apt being more robust and less susceptible to corrupt its DB in case of crash or interruptions. It seems to have gotten better with CentOS 7 however and I never played with dnf.
On the minus side compared to CentOS:
* kickstart is a dream to use compared to preseed which is quite horrible, specially if you are trying to template it.
* The life span of a CentOS/RHEL is really long, +10 years for latest releases, which can be great for long, complex and slow projects, Debian in contrast is more on an EOL after ~5 years policy.
Package selection and packaging quality. The Debian aarchive is about 10x the size of CentOS / RHEL: 60k+ packages vs about 7k or so, as of a few years ago. I've not done a recent RHEL count.
2) For major and minor releases, they are months behind RH. That may or may not be a problem for you, though.
3) Debian is less beholden to the interests of any one corporate entity (for better or worse), if that kind of thing appeals to you.
4) Debian has a huge number of packages, much more than CentOS + EPEL.
5) On the fly upgrade to the next release. Though in a professional setting where you have automated provisioning, reinstall isn't that much of a burden anyway.
That being said, both CentOS and Debian are very solid distros, you're not going wrong if you choose one of them.
They don't seem to see how this negates the advantage of using a "well tested, enterprise grade" distro!
I much prefer Debian (for servers and development machines) as a good intersection between "up to date" and "stable".
The thing I find strange is that the people I'm talking about will happily run code from random 3rd party repos (providing PHP 7.0 or similar), and copy/paste repo key fingerprints from the web without blinking, while steadfastly refusing to use an OS with such packages included and tested in the official repos "because security/quality/enterprise".
At my new job, we recently had that debate -- and I was quickly overruled for recommending CentOS/RHEL. My employer is a Java shop, I can almost always find rpm and deb pkg's for most stuff we need.
For the record: I have no idea how the package selection compares between CentOS and Debian - I've been firmly in the Debian camp since forever, and stay there mostly for other reasons, of which laziness is the most important one.