5 bytes = more than 1 million million unique addresses, although not all addresses (as the nRF24L01 datasheet points out) are advised, for instance because they mimic the nRF's preamble packet.
So what is the purpose of addresses?
The purpose is to ensure that radio transmissions are received at the intended radio module. Consider a radio network where you have 1 transmitter (TX) and 3 receivers (RXs) within range of one another, all using the same radio frequency (channel). Now all receivers will detect a message sent by the transmitter, but only act upon it, such as raising an interrupt flag, it if the TX and RX addresses match. To avoid chaotic communication, failed packets or on-air collisions you need each receiver to have a unique address. Consider these like a postal address. You should have an intuition of what would happen to your mail if both you and your neighbor had the exact same address. Since the 2.4 GHz band can be extremely busy in public places with WiFi and Bluetooth traffic (which as an aside, Bluetooth is based on the nRF protocol), having 40 address bits seems quite sensible, as the probability of matching addresses by chance is almost zero.
So what are pipes?
If you read the nRF datasheet, you will see that in TX mode the radio can only send on using one address. In RX mode, the radio will listen for messages on up to 6 different addresses. Why 6? This is likely arbitrary - a balance between register memory allocation, most probable number of nRF modules being used simultaneously and the likelihood of more efficient network topologies (such as star/tree networks) that do not require huge numbers of pipes. A pipe represents one of these 6 addresses that a radio can receive the message and send and an ACK packet if requested. That's all.
I hope this answer clears any confusion you had between nRF addresses and pipes.