Sufficient to have more than one subnet. In IPv6 you can't easily have a subnet that's smaller than /64, so even though /64 = 2^64 addresses, it's still just a single subnet. In IPv6, we need to start thinking in terms of number of subnets rather than number of IP addresses.
Why is having one subnet insufficient? I use multiple subnets (I have a guest network), and I don't want to have to use NAT with IPv6 when my ISP has effectively infinite address space. Of course, I'm not an average user, but remember that 10 years ago only power users had home routers, and for everyone else 1 IP address was enough. Now everyone has a router. There are already some consumer access points that tout a "guest network" as a selling point, and there may be other consumer uses for multiple subnets in the future.
Actually, there's a good reason why IPv6 subnets are so large - it's because with stateless auto configuration, the lower bits (the "Interface ID") of the address are derived from the MAC address, which is 48 bits.[1] (Stateless auto configuration is brilliant because, despite being stateless (unlike DHCP), no two devices will ever be assigned the same IP address on a subnet.) 48 < 64, so technically the subnet size could be /80 instead of /64, but does 16 bits really matter in the grand scheme of things, especially when there are 2^64 /64's available?
Another way of looking at this is that IPv6 could have been just IPv4 with 64 bit addresses, and we would have been fine. However, the designers decided to add stateless auto configuration, and added another 64 bits to make it work.
[1] In privacy mode, the Interface ID is generated randomly instead of from the MAC address (to prevent tracking by MAC address). In this case, you still need lots of bits to make the probability of a collision insignificant.
You're probably right, and one easily preventible reason will be ISPs giving out too-small or dynamic prefix assignments. There may be legitimate reasons for IPv6 NAT, but this isn't one of them.
a /64 gives you a single subnet with effectively infinite size. A shorter prefix would allow you to have multiple subnets for isolating things like gaming devices, guest networks, VPNs, etc. For IPv4 the ability to do this was basically a pipe dream, for IPv6 the addresses are there, we just need to coordinate how ISPs hand them out and how consumer routers manage them.
In short, one /64 is sufficient for duplicating an IPv4 like situation. A /60 or /56 gives us more room to innovate in new types of home networks.
Why is having one subnet insufficient? I use multiple subnets (I have a guest network), and I don't want to have to use NAT with IPv6 when my ISP has effectively infinite address space. Of course, I'm not an average user, but remember that 10 years ago only power users had home routers, and for everyone else 1 IP address was enough. Now everyone has a router. There are already some consumer access points that tout a "guest network" as a selling point, and there may be other consumer uses for multiple subnets in the future.