CGN is also known as LSN (Large Scale NAT). And in my opinion, it should be called LSN since there is nothing for CGN to be a carrier grade. It is just a NAT.
With CGN, Service Providers do NAT44 on the CPE from private address to another private address (Well known /10 prefix which is allocated by IANA) and another NAT44 on the Service Provider network. That’s why you can hear CGN, LSN, Double NAT or NAT444. All of them refer to the same thing.
CGN and so many IPv6 topics are covered in great detail in my IPv6 Zero to Hero Course.
But with CGN you are not enabling IPv6.
CGN is a way to solve the IPv4 depletion problem in a very problematic way. Companies are also using trade-market to purchase IPv4 public addresses. Average cost per IPv4 address is around 8-10$ currently. This might increase by the time. And it would be wise to expect to see much bigger DFZ space by the time because of de-aggregation.
With CGN, IPv4 private addresses are shared among many customers and those shared addresses are NATed at the CGN node twice.