Why is CDMA not enough for wireless communication?
You're misunderstanding what CDMA, TDMA and FDMA do:

CDMA doesn't increase the channel capacity in any way. It's a MA, MA = Multiple Access mechanism.

In other words, it's just a way of dividing the spectrum among multiple users. No matter what you do, you can't get more data through a channel than the physics and math allows – and Shannon's channel capacity gives a pretty clear upper boundary for that.

All the mechanisms you quote hence only divide the available channel across some measure. 

For TDMA and FDMA, as you notice, this is very intuitively understandable.

But to be honest, CDMA is not that different. Instead of sending a single symbol in a single symbol time slot, you have to multiply it onto a longer code sequence.

The maximum number of simultaneous users of CDMA is simply the number $N$ of orthogonal CDMA sequences.

$N$ orthogonal vectors (i.e. sequences) form a base to an $N$-dimensional vector space (which is the signal space). Vectors from an $N$-dimensional space (which is what you're going to transmit to transport one symbol) have inherently $N$ elements.

So, to make (up to) $N$ people talk at once, you need to "blow up" everyone's transmission's symbols (which are $1$-dimensional, each) to $N$-dimensional vectors, increasing the time it takes to send one symbol by a factor of $N$.

That's the same efficiency as using TDMA to split time into $N$ slots (everyone sends $1$ symbol every $N$ slots), or dividing the bandwidth into $N$ channels and using FDMA (everyone can only use $\frac1N$ of the available bandwidth, reducing the individual symbol rate by $N$).