IPv6 is the successor to IPv4. Rather than 2^32 addresses (like IPv4), it has 2^128, which is 340,282,366,920,938,463,463,374,607,431,768,211,456 unique addresses (34 undecillion). IPv6 addressing is quite different to IPv4 and is not backwards compatible, but protocols that sit on top (HTTP, SSH, etc) remain unchanged.
IPv4 was designed in the 1970's and supports just over 4 billion unique addresses. Back then, nobody could ever have imagined the internet becoming what it is today.
Since 1 February 2011, the global pool of IPv4 addresses has been depleted, The first regional pool (Asia) ran out on 15 April 2011, Europe ran out on 14 September 2014, with the North American pools slated to run out in. Individual ISPs and hosting companies should have between three and twelve months after their regional pool is empty. By 2014, it will be hard/expensive to get a new IPv4 allocation outside of Africa and Latin America.
In the early 1990's people started to realise that we were going to run out of IP addresses and a taskforce was developed to decide on a new protocol. The protocol that was settled on was IPv6.
IPv6 has 128-bit addresses, and mostly works the same as IPv4, except that ARP is completely replaced (by Neighbour Discovery Protocol), and DHCP is radically different - and may not be necessary, in the light of the new Router Advertisement system. With the much larger address allocation, NAT is not needed.
There is an excellent talk from DefCon 18 on youtube that explains a lot of the history around IPv6. You can find Part 1 here.