In many countries, it’s common to have hundreds, even thousands of customers behind a single carrier-level CGNAT. This obviously prevents a lot of functionality from working.
In Germany, we’ve got enough IPv4s that every customer can have their own one, while e.g. in Asia CGNAT and IPv6 are long common.
There are sadly a ton of ISPs that do CGNAT on a v4-only service. Smaller or newer ISPs like WISPs often do it, or ISPs for apartment blocks or student accommodation, but it's hardly limited to those.
Germany in particular has a couple of large ISPs that give you a choice of either their new platform (DS-lite = v6 + CGNATed v4) or their old platform (v4-only). That's a choice made by those ISPs... and unfortunately it's one that causes a lot of people on those ISPs to end up blaming v6 for problems caused by CGNAT.
In Germany, we’ve got enough IPv4s that every customer can have their own one, while e.g. in Asia CGNAT and IPv6 are long common.