For me the reason is two fold. Sharing the hacks I build is easier when I don't have to deal with NAT. Secondly, for some environments, like the default Amazon Linux AMI the default packages and PATH makes it a huge hassle to compile/install Node. This AMI was born out of our own frustration with that process which I'm sure affects Linux distros other than just the Amazon Linux one.
(Really? -2? I am actually surprised that this is a problem. I have to share web apps with my friends, in both directions, regularly. It's never been a problem. Everyone has a publicly-routeable address these days.)
Sadly, not all ISPs allow this. I run into this frustration whenever I visit my parents. They use a wireless ISP which does not provide each customer with a public facing IP. They all share the same public IP address and therefore can not receive incoming connections.
EDIT: Removed lingo abuse.