It’s kinda complicated the way it works.
Way back in the olden days of cell phones, it worked pretty much as you guessed. Your phone and the tower would set up the call and a channel (a narrow frequency band) would be allocated for the call to use. It was fairly simple and straightforward, but it meant that your phone was completely tying up that channel while it was talking, which wasn’t very efficient (compared to more modern standards). You still see this used in some places around the world, but mostly the old analog system has gone by the wayside.
These days, with digital phones, there are still channels that are allocated, but each channel is further divided up into time slices, which allows multiple phones to all share the same channel by basically taking turns and only sending data when it is their time to talk.
Time slicing, or TDMA (time division multiple access) allows you to stuff more cell phones onto the available channel allocations, but you’ve still only got so many channels and you can only divide each channel up into so many time slices.
No matter what you do, as more and more people are using cell phones and are trying to push more data through them, you end up using up more of the bandwidth available, so the cell phone companies keep playing more and more games to shove more data through the available frequencies (since pretty much all frequencies available up and down the spectrum are already allocated for something, so the FCC can’t just say “here, have some more frequencies” at this point). They use technologies like spread spectrum broadcasting and all sort of things. Here are some nice buzz words you can google to find out more, but be forewarned, some of it gets pretty technical pretty quickly, but you can look up things like GSM, TDMA, CDMA, FDMA, UMTS, and spread spectrum, just to name a few.
What limits you these days is typically an artificial limit imposed by your cell carrier so that they can divide up all of the bandwidth they have available with all of the customers that they need to service. If they give you too much data then there isn’t enough bandwidth for someone else, so each carrier has to play this balancing game of providing as much bandwidth as possible to each individual user while simultaneously making sure that they don’t end up starving other users for bandwidth.