distutils2 is a fork of distutils, where we decided to be non-backward compatible to do som heavy refactoring. It was supposed to ship in Python 3 under the "packaging" name but got remove before the 3.2 release because considered not matured enough.
It implements all the PEPs we worked on in the last 4 years. "pkgutil" is now a new attempt to provide an implementation of all the PEPs, forked from distutils2, without the commands system.
distribute is a fork of setuptools - It's community-driven and provide python 3 support unlike setuptools.
easy_install is an installer in setuptools. pip is a replacement for easy_install that provide an uninstall feature unlike easy_install, and many other things.