I've been fighting this question in vain for years. My personal preference is for FreeBSD - but that's an aside, it's significant advantages are eclipsed by the fact that everything is written for linux (says the guy that works for Berkeley lab; big surprise). I started out on BSD and slackware in the 90's and quickly moved my linux use to Debian due to it being a minimalist approach rather than the opposite. Since around 2008 I've been using CentOS mostly because that is what the jobs I've worked on have used and it's likeness to RHEL. I like the package management system and it is mostly stable. In the last year or so as I work a lot more with OpenFlow controllers and other SDN open source projects as well as docker and the other buzzword compliant things banging around I've found that CentOS takes a big 'ol back seat to Ubuntu. So it really depends on what you want to [easily] do, unfortunately.
The upside is that patch and user management can be mostly automated using puppet or other tools so running a bunch of different distributions is pretty easy once that hurdle is jumped. My guess is that you'll have better luck with Ubuntu for FOSS and better support for commercial stuff under CentOS.
My advice: Learn them all and pick and choose based on what you're doing. They're all linux so the fringe details are all that is really that different.
nb