It's true that the channels are 20 MHz wide, but a contemporary WLAN connection spreads over several channels. The available channels are 1...13, but the connection allocations only works like like this:
802.11b: only use channels 1, 6, 11
802.11g/n: only use channels 1, 5, 9, 13
This also explains the congestion you often experience.
The 2.4 GHz WiFi "channels" are in fact only 5 MHz apart for some absurd reason. That is why it is necessary to use only 1,6,11 to avoid interference. If you use channel 1 and the neighbor uses channel 2, then 80% of your channel bandwidth overlaps, but the two networks can't see each other (different channel) and therefore do not perform time sharing of the channel. This means that the signal to noise ratio of both networks will be horrible and data rate suffers a lot. Following the 1,6,11 rule means no overlap so that all networks on each channel share nicely while also avoiding "noise" from the other networks on other channels. It takes only one @#$% neighbor to set up on one of the "free" adjacent channels ruin the airspace for everyone.
If you use 300 Mbps 802.11N then you likely use a double width 40 MHz wide channel, potentially causing even more grief for everyone.
Back to bandwidth vs. data rate, others have accurately noted that this is all due to QAM. I'll add that back in the days of dial-up, we had modems up to 56 kbps on a <4 kHz phone line. These 56k modems didn't use QAM, but 33.6k ones did, and got well over 8 bits per symbol. DSL is surprisingly similar to these old analog modems, using many, many separate 4 kHz wide channels to achieve high speed data over a few km of basic low bandwidth copper twisted pair (nothing like CAT-5/6).