Short answer: It supports more calls in the same spectrum, and it dynamically allocates bandwidth more easily.
Long answer: Spectrum is extremely expensive; it has to be purchased from various governmental licensing authorities at auction, and sometimes these auctions have involved billions of dollars (or equivalent monetary value in other currencies). It represents a considerable investment by a carrier.
Generally speaking, CDMA will carry between two and three times as many calls simultaneously as TDMA in the same amount of bandwidth. This is due to something known as "frequency reuse" and is very well explained on this page.
The other major advantage of CDMA is dynamic allocation of bandwidth. To understand this, it's important to realize that in this context in CDMA, "bandwidth" refers to the ability of any phone to get data from one end to the other. It doesn't refer to the amount of spectrum used by the phone, because in CDMA every phone uses the entire spectrum of its carrier whenever it is transmitting or receiving.
TDMA works by taking a channel with a fixed bandwidth and dividing it into time slots. Any given phone is then given the ability to use one or more of the slots on an ongoing basis, if it is in a call. For instance, if the channel is 200 kHz wide with 8 slots, and the phone is allocated one of them, then the phone has effective bandwitdth of 200/8 = 25 kHz. This bandwidth is allocated to that phone while the call proceeds, whether the phone actually uses it or not. In other words, when you're in a call with TDMA and being silent because you're listening to the other person speak, your phone still uses that full bandwidth to transmit silence.
CDMA is more efficient about that kind of thing. In both TDMA and CDMA, the outgoing voice traffic is digitized and compressed. But the CDMA codec can realize when the particular packet is noticeably simpler (e.g. silence, or a sustained tone with little change in modulation) and will compress the packet far more. Thus the packet may involve fewer bits, and the phone will take less time to transmit it.
And that's where this odd idea of what "bandwidth" means in CDMA comes in. For in a very real sense, bandwidth in CDMA equates to received power at the cell. CDMA systems constantly adjust power to make sure as little is used as necessary, and compensate for this by using coding gain through the use of forward error correction and other approaches which are much too complicated to go into here. The chip rate is constant, and if more actual data is carried by the constant chip rate, then there will be less coding gain. Therefore, it's necessary to use more power instead.
Conceptually, a given cell sector can tolerate a certain amount of total received power before it becomes difficult to decipher all the channels being received. If one phone uses more of that power allocation, there is less available for the others.
But this is an advantage, not a disadvantage, for it can be stated a different way: if one phone uses less of that power allocation, there is more available for the others. This is the right way to look at it, because this is going on constantly.
In a TDMA system, suppose that the phone needed more or less than the 25 kHz slot. "Less" is a non-issue because there's no way to get smaller. "More" would require that an additional slot be allocated to the phone, which would require a protocol-level exchange: the phone says to the cell "I need more bandwidth", the cell finds some other phone on that same channel and tells it to move, clearing an additional slot, then sends a message back to the phone telling it "OK, you can use this slot in addition". This might take quite a while, and by the time it's complete the need may have passed.
But CDMA actually does this dynamically and on the fly. When the CDMA phone realizes that it doesn't need to transmit a full digital packet, it will use a "half rate" packet, or "quarter rate" or "eighth rate", and will transmit for less time. Packet transmissions happen fifty times per second in current CDMA systems, but a phone with a half-rate packet to send will pseudo-randomly send half the symbols during the 20 millisecond packet.
Received power at the cell is an instantaneously measured quantity. If two phones are transmitting at half rate but at different times, the cell is actually only receiving power from one phone at a time. Effective bandwidth in CDMA is thus actually being dynamically allocated at all times. And when you are listening and silent, the phone drops to eighth rate and uses virtually no bandwidth at all.
This is very nice for voice traffic and is an additional reason why CDMA is more efficient in use of spectrum, but where it will become particularly valuable is when data transmission becomes a significant use. That's because common data use is very bursty, even more than is voice traffic.
Consider how you use a browser, for instance: you click a link and in a short interval your computer downloads many kilobytes of data. You then sit and read what was downloaded, and there's virtually no data traffic going on.
In a CDMA system, it would be very easy to allocate a considerable proportion of the bandwidth of a sector to a single phone for that interval. Nothing special needs to be done except to allocate that phone a considerable proportion of the power, which it could do without requesting permission from the cell.
High spectrum efficiency and dynamic allocation of bandwidth are the principle reasons why the entire wireless telecommunications industry is moving to CDMA. The current generation of GSM is based on TDMA, but the next generation will use a CDMA air interface.