According to netbsd.org, some time around 1992, there was a global shortage of IPv4 addresses, and technical obstacles in deploying new protocols due to limitations imposed by IPv4. An IPng (IP next generation) effort was started to solve these issues. Around 1995, IPv6 (IP version 6) was picked as the final IPng proposal. In a single sentence, IPv6 is a upgraded version of IPv4.
IPv4 uses only 32 bits for IP address space, which allows only 4 billion nodes to be identified on the Internet. IPv6 allows 128 bits for IP address space, allowing 340282366920938463463374607431768211456 (three hundred forty undecillion) nodes to be uniquely identified on the Internet. A larger address space allows true end to end communication, without NAT or other short term workarounds against the IPv4 address shortage.