Photoshop is a large codebase and is considerably older than MacOS X. The current version works, and software that works is not usually changed just to conform with "the new cool". Indie developers do this because it's fun, and it's their own company; but in a large organisation, answerable to shareholders, that kind of activity looks suspiciously like wasted R&D spending. As a developer, I often find this infuriating, but that's the way business works, and overall it's the right thing - users install once, but they use the software every day; better to spend the money on the "every day" bit.
As for not playing ball with standards, earlier versions of Photoshop heavily used Apple's MacApp C++ development framework to implement its UI. Naturally, Apple dumped MacApp in the Copland fallout of the late 1990s, leaving several customers in the lurch - Adobe included. Not for the first time, Adobe had been slapped by Apple despite providing one of the two reasons there was still a Mac market (the other was Quark XPress). Personally, I can understand their reluctance to jump onto another Apple-only technology. Far better to port to Windows, which is what they did.
Photoshop was, and is, a C/C++ application, running (via Adobe's private UI framework) on the MacOS HI Toolbox. When OS X came along, it introduced a completely incompatible UI toolbox, based on NeXTStep; this is Cocoa. But this was not only a new framework, it also needed you to write in a new language: Objective-C - a much larger investment in training.
When OS X arrived, in order to allow big-name applications (like Quark, MS Office, Filemaker, and ... Photoshop) to work, Apple preserved the old MacOS Toolbox, both as the "Classic" virtual machine, and as the "Carbon" API in OS X userland. Classic was dumped once everyone got their code running under OSX, but Carbon is still with us. However, it has always been the neglected child in the often-neglected family that is OS X, and as new OS X features became available, they were added to Cocoa first, or eventually to Cocoa only.
Photoshop is sold on Windows too, so rewriting every bit of UI code in Objective-C++ (yes, there is such a thing) is not an option for the core product, and it doesn't make financial sense for the (lower selling) Mac version either, until it becomes a matter of losing sales if you don't do it. And until now, the use of Carbon or Cocoa code would go unnoticed by the user, except for that slightly "safety-scissors" feel to Cocoa apps (I can't describe it better, but long-time Mac users will know what I mean).
Give Apple credit - they've managed to move their OS across three processor architectures (680x0, PowerPC, now Intel) and two kernels (OS8/NuKernel and BSD/Unix) without breaking API compatibility. But maintaining a legacy codebase forever and ever while it provides less and less of the core OS's functions makes no sense either. Test cycles are long enough as it is. As fewer applications use Carbon, it will get less and less test coverage. Sometimes stuff breaks, or sometimes it's removed completely (Rosetta).
Carbon is still in Lion, but the long-held consensus among developers is that its days are numbered. The inevitable fusing of the iOS Cocoa Touch and OSX Cocoa frameworks, both of which use Objective-C, makes its death a matter of "when", not "if"