I'll break it down for you.
3 basic types of NAT : Open, Moderate, Strict. That depends on your ISP and router settings.
Open can communicate with Open, Moderate, and Strict.
Moderate can communicate with Open and Moderate.
Strict can communicate with Open.
So hosting is often not permitted on strict NAT because of the restrictions it imposes.
Joining a peer-to-peer game on strict NAT is also asking for trouble. As your communications with moderate (the majority) and strict players will be forwarded via another machine in the peer network. So you incur more latency, packet drops, ect... Some games just plain refuse strict players.
In a server-client system, with dedicated servers, that's a non issue.
In a server-client system, with a player hosting, that's also a non issue provided you managed to connect with the host in the first place. Host migration will probably kick you out of the game if the new host is not open NAT.