mostly unrelated – but I wouldn't have known/cared about POSIX compliance until I ran into it:
On OS X, getopt is POSIX compliant. GNU utilities tend not to enforce POSIX in getopt, as a result you can do things like ls .txt -la
On a POSIX complaint system, the optional arguments must come before any file arguments. This is super annoying to me, after having been using Linux for 15 years :)
Personally, I've been super happy with OS X for all purposes except servers, but to each their own, and that's where Linux (and the
BSDs) shine – giving you access under the hood, which is awesome, but some of us just want the car to drive itself, so to speak.