Video conferencing and gaming work without needing a fixed IP address. They solved that problem years (>decade) ago because you simply can't rely on people having a fixed IP address. Even IF people have some sort of fixed IP address it can change when they reset their modem or change providers. The only things on internet which need a fixed IP address are servers.
Well, no, not exactly... First off, are you talking about private IPs (the ones used inside your LAN, like 192.168 and 10.0)? Or public IPs (the one that *should* be globally routable and unique to you).
If you're talking about public IPs, I never said you needed a static IP address. Dynamic works just fine. (Also, no, a fixed (static) IP will never change, even when they reset their modem. That's the entire point! A dynamic IP can change when you reset your modem, or even when the DHCP lease expires.)
The issue I raised has nothing to do with that. The issue is about TCP/UDP ports, and how to correctly route them when you have more than one device using a single public IP. This was solved about a decade ago, with things like NAT-PMP (Network Address Traversal-Port Mapping Protocol) and UPnP (Universal Plug and Play).
First off, what is NAT? Network Address Translation allows multiple devices on a private network, with private IP addresses, to share a *single* public facing IP address (which can be static or dynamic). It works really well when a device on the private side requests something from the public side (browsing a website, for example). NAT keeps track of where the request came from, so it knows which computer on the private side to send the data to when the server responds.
So far so good, right? But what happens when, say, I try to make a direct connection to your public IP, without you requesting anything first? (Say, a BitTorrent client on my LAN trying to connect across the Internet to a BT client running on a machine in your LAN.) Well, it doesn't work! Unless you've gone into your router and manually setup port forwarding, to forward that specific BT port the the private IP of the machine running the client.
That's a huge pain to have to do for every game, P2P client, video chat client, etc.
So, how do we solve that problem? Well, that's what NAT-PMP and UPnP do! They allow any device in your private network to automatically setup temporary port forwarding by just making the appropriate request with your router.
So, that's why we don't have to worry about all this port forwarding stuff anymore. (And why most games and video conferencing clients have "just worked" for the last 10+ years.
So, what was I talking about in my last post? Well, NAT was only designed for private networks (aka your LAN). And NAT is certainly not designed to work behind *another* NAT.
The problem is, since we've run out of IPv4 addresses, ISPs can't get new pools of IPs to assign to their users (remember, each user should have at least *one* public facing IP address, be it statically or dynamically assigned). So, what some ISPs are doing is taking a single public IP and, using NAT, sharing it with 10 to 100 customers. (In that case, the IP assigned to your modem/router is actually a private IP inside their LAN.)
Now, why is that a problem? Well, let's use the BitTorrent example from earlier. So, your BT client uses NAT-PMP to request a specific port be forwarded from your router, which it does. The problem is, your router doesn't have a publicly accessible IP, because you're behind a second level of NAT from your ISP's router, and your BT client can't make a NAT-PMP request to that, therefor the port ultimately can't be forwarded from a public facing IP to your device.
This is called "double NAT" and it's bad. The only way around this is with IPv6, which would allow each device on your LAN to have its own public IP address, allowing us to do away with NAT and port forwarding all together.
Which, by the way, is not at all "insecure" as you suggested. Why? Because the gateway to these devices will still be your own router, which should have a firewall enabled. (Remember, firewalls are for security, NAT isn't.)