One can get all sorts of comparisons in technical terms, but the heart of the matter from a consumer/performance standpoint is that CDMA "streams" a signal while GSM "packages" a signal into discrete little packets that "chop up" a data stream and reassembles them on the other end.
This gives CDMA an advantage in terms of speed but does not allow two messages (e.g. data and voice) to share a "stream." In a GSM environment all the little packets are independent of one another and can share a connection. That's the heart of the AT&T's simultaneous "browse and talk" advertising.
From a carrier's point of view CDMA more or less shackles a consumer to one carrier (or at least to carriers who use the same version of CDMA.) GSM, on the other hand, because it stores phone data on a sim card, allows a user to move from one phone to another or one carrier to another in a more or less transparent fashion.
The entire rest of the world (other than the US and Iraq) concluded that regardless of other issues the greater flexibility provided to consumers was a good reason to opt for GSM. And that's why in Europe, Asia, etc. consumers usually buy phones and then look for a carrier rather than the other way around.
All in all, US consumers would be better off from a financial standpoint if we used the model adopted almost everywhere else. The upfront cost of phones would be higher but the carriers would not have to recover their equipment subsidies through monthly charges. Unfortunately, US consumers' addiction to credit has meant that subsidized phones tied to long term contracts is the model that has triumphed here.