It's a distinction without a difference. Any protocol with addresses larger than 32 bits will necessarily be incompatible with IPv4, so what does it matter whether there's a "4" or a "6" in the name?
IPv6 seems to be a whole lot more complicated than just upping the number of bits used for addresses. Its like they were trying to solve a bunch of things in addition to the address range.
Per the article it mostly has the same headers. What other things are you thinking of? Stateless autoconfig is complex but IPv4 has that option too. Privacy extensions are complex but they are extensions, not the core spec.
IPv6 introduced several significant changes like dropping IP packet fragmentation.