Cocoa apps interact more smoothly with the unix side of the OS. A cocoa
application can be viewed as a process, can be sent standard unix signals
and expected to know what to do with them. All carbon applications simply
show up as "LaunchCFMApp"; the only thing you can do is kill them, and you
have to guess at which is which to even do that.
Carbon apps are also subject to some rather obsolete limitations. Most
notably, they only know how to deal with 31 characters of filename, even
though everything else about the environment is fine with considerably more.