You're not wrong, but you're not exactly right either.
Saying that a program is bad because its written in Carbon rather than Cocoa, is like saying a program is bad because its written in C rather than C++. These things aren't languages really--they are APIs-- but the concept is the same.
The idea is that they are both capable of doing almost all of the same things. Cocoa is very object oriented, dynamic (run-time binding is everywhere), and has a very easy to use API set for a lot of cool features. Carbon is more "archaic" in that it uses an older and more functional (vs. object oriented) API, but it can access many of the same OS X features that Cocoa can. Also, speed between the two is very similar. If anything, Cocoa may be slower because of its late binding and object oriented nature.
The real advantage that Cocoa has is that it is exceedingly easy to program. The UI builder is great. The API is great. The syntax of Objective-C is great. All very easy.
The real idea is that the quality of an app depends on the quality of a programmers work. Cocoa just makes it easier for the programmer not to screw up. Bad developers will create slow, buggy programs. Good developers will make quality programs.
Look for programs with quality, not because they are built on a given technology.
Taft