You can have a simple application with a simple Makefile that works out of the box on any BSD and Linux system, but still have to adjust it to get it run under OS X.
So yes, under that hat OS X is some kind of Unix, but it is a very strange kind of Unix. OS X requires special cases in any build script, even in portable *.pro files of Qt projects.
So to me, as a developer and problem solver, OS X confronts me with a lot more distractions and nasty behavior than any other Unix-like system, including Windows+MinGW.
(This is because the MinGW cross compilers behave like normal GCC/Binutils as far as possible for the Windows platform. However, this solely because MinGW is developed by a group of volunteers, while the GCC functionality for OS X is developed by Apple. MinGW would surely look worse if it had been developed by Microsoft.)