DNS: names to addresses
Humans use names (app.local); packets need IPs. A client asks its configured DNS server to resolve the name. If the IP works but the name doesn't, it's DNS - the server may be unreachable, not running, or missing the record. 'Is it DNS?' is the first question in most outages.
DHCP: automatic addressing
Instead of typing an IP into every device, DHCP hands them out. A client broadcasts a Discover; a DHCP server offers an address, mask, gateway, and DNS from its pool. No server or an exhausted pool means a device comes up with no address at all.
NAT and ports
NAT rewrites a private source address to the router's public one so private hosts can reach the internet (and translates replies back). Ports identify services on a host - HTTP on 80, HTTPS on 443, SSH on 22 - so one server can offer many services at once.