I'm replying a little late, but NAT64 is one tool in a toolbox to deploy IPv6-only/IPv6-mostly networks to client devices. Information about these networks can be found by googling 464xlat as well, though 464xlat covers quite a much broader set of options than just what I think is being talked about here.
The ultimate goal in IPv6 rollout is to go IPv6-only and retire IPv4. I know that's a ways off, but realistically why would anyone want to run two network protocols forever?
Why use 464xlat? Well, it lets you deliver IPv4 as a service over an IPv6-only network. The typical scenario I work with is with a CLAT on a client device. The CLAT lets a client "think" it has an IPv4 address, and it can route that IPv4 traffic over an IPv6 network, through a NAT64 to get to the IPv4 internet.
For example, most CLATs will assign each client device 192.0.0.1 and "well known" NAT64 prefix is 64:ff9b::/96. If you were to open up a command line and ping 1.2.3.4, the CLAT will translate the destination address to 64:ff9b::1.2.3.4 (this is shorthand for 64:ff9b::102:304 -- it embeds the 32 bits of the IPv4 address into the last 32 bits of that IPv6 prefix).
That traffic then can transit an IPv6-only network to a NAT64 appliance (sometimes called a PLAT in the 464xlat standards) which will examine that destination address of 64:ff9b::102:304 and extract the destinations IPv4 address of 1.2.3.4 and send that packet on its way. The NAT64 appliance will probably pick a source address out of a pool, similar to what a CGNAT device does.
Returning back to the "why"... This lets a network run largely IPv6-only without sacrificing connectivity to the IPv4 internet. The only IPv4 that needs to be deployed is to that NAT64 appliance. There are some caveats and it requires CLAT support in the client device, but this is rapidly becoming "the path forward to IPv6-only"
In fact, T-Mobile already runs their network this way and has for 10+ years; I wouldn't be surprised if other 5G networks go this way. Operating systems like Android, iOS, macOS have a functioning CLAT. Windows 11 is getting a CLAT (it had one already, but was only active on cellular interfaces). [1]
Additionally, there's a new DHCPv4 option nicknamed IPv6-mostly (option 108). It effectively tells an OS to turn off IPv4 for some period of time. This is typically paired with CLAT support in the OS along with support for a way to configure the CLAT (usually PREF64). If a device doesn't understand option 108, it ignores it and continues to use IPv4 or dual-stack. If it supports dhcpv4-option108, then it should also have CLAT support and can operate in an IPv6-only mode.
I've run all of this in a lab setting and it works remarkably well. I know some network engineers who are required to run 80% IPv6-only by the end of 2025 by US government mandate (M-21-07), and they use this same tech pretty heavily.
So that's why one would want to use NAT64. Most "enterprise" gear that supports NAT44 will support NAT64 (Juniper SRX, PaloAlto Networks, F5 & A10 load balancers, and I'm guessing Cisco firepower supports it), Linux has a couple means to implement nat64 (jool, the nat64 kernel module, ebpf tools like cilium).
I think another use-case for CLAT+NAT64 is for ISPs. Instead of an ISP deploying CGNAT, it might actually be able to use a CLAT in the CPE device (home wifi router) and give users access to IPv4 that way. The main benefit to this deployment is that the NAT64 appliance only needs to be sized to handle translated traffic; untranslated traffic can bypass that appliance. With CGNAT, you need to size the appliance to handle ALL traffic, including transalted & untranslated traffic. For this reason, I'd also like to see CLAT support in RouterOS.
References: