Where they fail is web services. Apple cannot engineer a decent web service to save their sorry lives. The Cocoa API is pretty well thought out, generally well-documented, and pretty well-engineered.
Then you get into things where you have to talk to Apple via a network. StoreKit? [shudder]. iCloud? [terrified scream]. iMessage? Oh lord.
I agree, their APIs are generally very nice. But the last few releases of OS X haven't been great. Multi-monitor support will finally be fixed in 10.9, after having been broken in 10.7 and 10.8. Also, recent releases have become very slow. A 2009 Mac Mini running 10.8 is unbearably slow, while the same machine is on 10.6 is almost as fast as a recent machine machine with a SSD on 10.8.
And along with NextStep, Apple got its new iCEO, its new head of hardware, and its new head of software ;-)
Under Jobs Apple made stellar hardware and good-enough software.