Almost all of the issues I experience with Internet connectivity day-to-day are down to bad consumer networking equipment. APs start failing, or routers stop routing, seemingly at random.
I suspect it's because I'm using an actual key, instead of a passphrase, and nobody else does that. (Or, at least, not enough for Comcast to notice that the problem is them.)
The old one got returned b/c it was routinely dropping IPv6 packets. It took a while — multiple vists from multiple technicians — to convince Comcast that the symptom of "100% packet loss over IPv6, 0% packet loss over IPv4" was not a problem with the coax cable.
The predecessor of that modem got replaced when it had extreme difficulty forming IPv4 connections: almost all SYNs never got a SYN ACK, but in the rare case that they did, that connection proceeded with 0% packet loss. I highly suspect there was something going horridly wrong with its NAT processing, but that's a guess.
It by default ensures that machines inside a network are not reachable from the outside world. It gives you one address to the outside world which made IP blocks for abuse work quite well and enabled a lot of other users.
Sure, it's a bit of a pain for UDP communication but given the common NAT behaviours not completely terrible. If it was defined a bit clearer NAT would not have been that controversial.
For me that's a core feature of NAT, not something that breaks the internet.
It doesn't help that it's a shitty hack which causes endless lost time either spent wondering why something is broken, or through designing entire protocols just to get around it.