There are a few I could find real quick. I have more at home.
Carbon was created for a buffer for Developers to quickly port Classic apps to OS X. So basically, it is a "port" of the classic mac os API to run in a unix enviroment. Cocoa is pretty much Openstep, which is the upgrade to NextStep which is an off shoot of BSD Unix. The biggest problem Carbon is going to produce is when apple decides to take OS X to a true 64 bit platform. Since cocoa and most of the other enviroments and elements of OS X are Object Oriented, like 99% of other Posix systems, it can be easily upgraded to 64 bit, or scaled. This is the problem with standard c programming. All the code is compiled together, and dependent on itself. With Object orientated programming, you make different parts, and they work together to make the app. A good example, strictly for concstruction, and not durability etc, is making lincoln logs, (cocoa) and a tree (carbon.) With Lincoln logs, you can constantly rebuild your little house, and the base, which is say, 32 bit, you can swap out easily for a new base, 64 bit. With a tree, it constantly grows, and you can never rebuild a tree. And once it's root is established, 32-bit, to make it 64 bit you would have to completely cut down the tree. Also, with a tree, you can cut off limbs and have new ones grow. But it starts to weaken because of this, and if you ever have to take a big chunk out of the base, even if you patch it with wood cement, you eventually will have to brace the tree, and that tree is never really "whole" anymore.
With the lincoln logs, if one piece gets broken, you can simply replace it.
This is the problem Windows right now. They have built it in a "Tree" fashion. So it's going to be hard to make NT 64 bit without growing a new tree.
Posix systems and their apps can usually be made 64 bit, or even 128 bit easily, with simply taking out the base and swapping them. Look how fast red hat had a 64 bit version of their flavor of linux to run on itaniums.
Also taking full advantage of Open GL, Java, and many other elements of Mac OS X's posix system is the other great thing about Cocoa.
Plus, It's adobe's fault for them having these problems converting to a cocoa system. If they kept supporting irix they would have been able to quickly port it from their sgi verion to mac os x. The reason they quit supporting it is.... MICROSOFT.
Thats another great thing about object-c. You can make a program for linux and easily make it for darwin or cocoa. And thats whats so great. It's very open. Can you imagine games coming over to amc os x super fast if all the companies had to do is change certain parts of the code with object c?
Thats why companies that don't adapt are going to kill themselves or get left behind. Also it's why if apple doesn't get cocoa to be more fully supported by more than posix gurus and programmers, mac os x is good as dead. Why even waste our time on a UNIX system if your not going to take full advantage of it.
Why put a 500 horse power engine in a vehicle with a rear end gear ratio to pull. Sure you can pull houses off of their foundation, but when you can't go over 35 miles per hour whats the point? You're wasting gas, and you wasted a big investment.