When comparing CentOS vs GNU/Linux, the Slant community recommends GNU/Linux for most people. In the question“What are the best server OSes?” GNU/Linux is ranked 1st while CentOS is ranked 4th.
Ranked in these QuestionsQuestion Ranking
Pro Built-in support for containers
Comes with built-in management tools for containers (Atomic CLI, Cockpit) and a container runtime in the form of Docker engine.
Pro Applications don't have to take into account potentially breaking changes in libraries
Since CentOS backports all updates and bug fixes to older versions in order to maintain package compatibility across releases, applications hosted on Red Hat Linux don't have to worry about potential breaking changes in libraries they use, especially language libraries.
Pro Built-in disaster recovery solutions through clusters
CentOS has several built-in solutions for disaster recovery. For example, it comes with pacemaker which can be configured to manage multi-site and and stretch clusters across multiple geographical locations for disaster recovery and scalability. It can also be configured to trigger notifications when the status of a managed cluster changes by using enhanced pacemaker alerts.
Pro Greatly favours stability over anything else
CentOS favours stability over being up-to date. For this reason it ships with packages that may be up to two years behind in order to ensure stability over everything else.
Using older versions for packages means that they have been thoroughly tested and used in production for quite some time, and are ensured to play well with each-other.
This strategy has paid off quite a lot in the past. One example is the Heartbleed bug which left CentOS unaffected since it was using a two-year old OpenSSL library which did not have the bug.
Pro Access to really powerful terminals
Pro Most software is open source
Pro Most likely also your deployment target
Makes testing while developing easier. According to a September 2014 study by W3 Techs, *nix based servers are used on over 2/3 of websites.
Pro Lots of development tools available
Pro Large percentage of Linux users are developers
Pro Package managers
You can install any library or package that you need (gcc, php, node) with just a couple of commands in the terminal.
Pro Most Linux distributions are free
Pro Follows the UNIX philosophy
The UNIX philosophy: 'Write programs that do one thing and do it well'. Since Linux itself follows this philosophy then it's very easy to start creating scripts and programs.
Pro A wide variety of distributions available
With a lot of variety, one can use the distribution that fits the type of work best because of the many choices that are given, instead of just one.
Pro Familiarity with Linux is often required from a developer
Nice, developer-friendly environment.
GNU/Linux handles desktop sessions differently than Windows. Users may customize their own sessions; in fact, a single user may use different desktop environments for different login sessions.
Pro Choose any type of desktop environment (or none)
Most Linux distributions support a range of desktop environments, be it plain old X, a tiling window manager or a fully fledged mammoth desktop like GNOME or KDE.
Pro Hardly ever crashes
Pro Works great on older hardware.
I've got some 7-10 year-old Dell laptops that Unix runs very well on where Windows would grind/drag/vomit.
Pro No telemetry, unlike Windows
Con Issues with drivers if your hardware is not officially supported
Con Low user base to develop to
Con Steep learning curve
Con Maintenance is time-consuming
Con Too much customization
To get features on par with OS X, you need to research packages, install them and configure them. Even then, it may not be as good as OS X.
Con A wide variety of distributions available
With a lot of variety, one cannot deploy to a single system and has to prepare for a bundle of distributions, instead of just one.
Con Less and worse professional software is developed, due to the low user base
Depending on what type of work you are doing, you may find Linux software lacking compared to their Win/Mac counterparts.
For example in game development, tools, like Unreal Engine or Unity, usually lack in quality or novelty compared with Windows. Having crashes or bugs that aren't fixed for a while.