Seriously, maybe Apple should take a good long look at themselves before calling others lazy. 64 bit, OpenCL, Grandcentral, all nice features of Snow Leopard, but where is the application support even in Apple's own software ? Cocoa migration took how long ?
Can't really argue on the Cocoa migration, but...
OpenCL, GCD and 64-bit are not clear cut "Do this and profit" moves. I don't include QTKit in my app just because I can, I include it because it enables a certain feature.
OpenCL is specialized in the sense that you need largeish data sets to endlessly churn on for OpenCL to be beneficial. This really benefits situations where I run the same operation on a large blob of data (images, 3D data are obvious ones). It doesn't help situations where you are mostly doing conditional logic and branching.
64-bit in general is a ~10% speed gain on x64 procs because of extra registers, not because 64-bit is faster or inherently better. In the PPC world, if you didn't need the extra bits, then you would keep compiling for 32-bit since it was actually faster than 64-bit. Including the 64-bit kernel, but leaving it off by default for awhile was actually a smart move, as it gave developers time to test their kexts on a real 64-bit kernel before the switch started getting flipped on new hardware. 10% may be important on a high-perf app (say, Handbrake, etc), but not so much in simpler apps.
GCD is a bit more obvious: If you are doing threading, use GCD. If you are doing a lot of time-intensive work on the main thread, you should be using threading. There are other situations where you can easily just use async I/O and other things to avoid blocking the main thread, and avoid spawning threads, and not need GCD for that.
None of this stuff is something where I jump out of my seat and think every developer needs to be using it 100% of time on the platform.
In the case of Carbon vs Cocoa, I can definitely understand the ire of watching Apple take longer than everyone else. They came out and called Carbon a dead-end. But for technologies that aren't meant to be applicable in all situations? I just can't buy that they aren't allowed to make the same value vs cost judgements the rest of the programming world is allowed to make.