Attaching an Internet Gateway to a VPC allows instances with public IPs to access the internet.
Attaching a NAT allows instances with no public IPs to access the internet.
This is the most important thing to keep in mind while choosing between an Internet Gateway and a NAT.