Microsoft stuff is good at what it sets out to do. The design goals do not appear to ever include "simple, streamlined, do one thing well, easy to understand and fix". They do seem to have traits like "backward-compatible, easy to use, do everything we can rationalize doing, with as much complexity as possible hidden from the user". Which encourages designs that are complicated, bloated, high maintenance, and impossible to understand. Which I don't forgive them for.
Redhat and Linux-specific stuff in general isn't good at what it sets out to do, but luckily it's also not good at making things easy. It's a hybrid between the Microsoft ethic of complex do-everything easy-to-use software and the ethic of simple, do-one-thing-well read-the-damn-manpage aspects of Unix philosophy, taking the worst of both worlds and creating pure computing evil. I've never had major issues with ports in FreeBSD, and I've never had a Linux install go a year without some kind of package corruption that was sufficiently difficult to recover from that I ended up just reinstalling, and I've tried lots of them from Ubuntu and CentOS to Gentoo and Linux-From-Scratch. Too many bad experiences with too many different distros. There's something in the water with those Linux folk.
Oracle, I fully understand why it is a complex high-maintenance piece of software that requires a fully qualified full-time DBA to operate. And I still don't forgive them! However anybody certified to do Oracle DBA gets my respect until proven unworthy.