TDD and FDD: two ways to separate the directions.
Uplink and downlink have to be kept apart, and there are two ways to do it. FDD (frequency-division duplex) uses paired spectrum: a downlink band and an uplink band that both run continuously, at the same time, on different frequencies. It is simple and gives symmetric, low-latency links, but it needs a paired allocation and a duplexer.
TDD (time-division duplex) uses a single, unpaired band and splits it in time — some symbols or slots are downlink, some uplink, some flexible. It fits the single large channels available in mid-band and mmWave, and it lets the network shift the ratio toward whichever direction has traffic. Most 5G deployments are TDD, and it is a large part of why NR made HARQ asynchronous and scheduling dynamic — a fixed timing relationship cannot survive a slot whose direction can change.