NAT is how networking devices, specifically routers, and firewalls, assign a public address to computers inside a local area or private network.
In other words, NAT can also be defined as a process by which networking devices at the perimeter of any network would modify the network address information in the IP header of a packet before it is sent to the public Internet.
The primary purpose of having NAT is to limit the no. of public addresses any company would be using to connect to the Internet while saving costs for the company.
NAT is used at many different levels, but the most common scenario is to use it for masquerading.
Through this technology, one or more systems in a LAN are made to appear as a single IP address on the Internet. This allows for multiple computers to access the Internet across the home or office network through a single DLS or cable modem connection.
There are benefits of NATing in terms of cost reduction, efficient use of IPv4 addressing space, the anonymity of users to some extent, etc.
But there are drawbacks of NAT as well, to some extent. NAT breaks the original concept of end-to-end connectivity envisioned during the initial days of the Internet.
Also, when systems behind a NAT device need to accept incoming connections, there are always issues that system administrators face, and workarounds for enabling such a connection are not efficient in a larger enterprise.