10. Why don't we use NAT forever?
NAT implies that many applications can't be used, so these applications can only be used in intranets, since many protocols can't go through NAT devices:
Multimedia applications like videoconference applications, telephony through Internet or video on demand don't work through NAT devices. This is due to RTC and RTCP protocols ("Real-time Transport Protocol" and "Real Time Control Protocol") use UDP with dynamic allocation of ports (NAT doesn't support this).
Kerberos authentication needs the source address, that is modified by NAT devices en IP headers.
IPSec allows data authentication, integrity and confidentiality. However, when NAT is used, IPsec loses integrity, since NAT changes the address in the IP header.
Multicast, although is possible, technically, its configuration is so complicated with NAT, that is not employed.
The idea is that NAT disappears with IPv6.