The biggest real value, to my way of thinking, is in the address space. There are some other improvements in it, such as some reorganization of headers, but they are minor by comparison, and some that some would tout as improvements (autoconfiguration for example) others would like to disable (say "DHCPv6").

But operationally, I think IPv4 can be compared to running with a stack of plates. We do things, regularly, to work around the small subnets and around Network Address Translation, that add only small amounts of complexity in and of themselves. We can always add one more plate to our stack. Just don't trip...

You may be interested to read https://tools.ietf.org/html/rfc2993 "Architectural Implications of NAT" and https://tools.ietf.org/html/rfc4864 "Local Network Protection for IPv6".