This is somewhat a duplicate of easy_install/pip or apt-get.
I think it depends on the package you want to install. If it is mainly Python code, compiled by your Python interpreter, then pip is very good, especially if you need the latest version, or the module is not in the Ubuntu repository. Pip is definitely preferred over easy-install from distribute, from PEAK's setuptools or setup.py, because it will always wait until the package is completely downloaded and built before it copies it into your file system, and it makes upgrading or uninstalling a breeze. In a lot of ways it is similar to apt-get, in that it generally handles dependencies well. Also, I second Wojciech's suggestion to use virtualenv.
Read Installing Python Modules in the Python documentation and Get Packages on the Python Package Index main page.
However, as a rule, I tend to prefer using either the Ubuntu Software Center, apt-get install or synaptic. The main reason being that this will install packages from the Ubuntu repository, which will build and install all of the necessary dependencies in the correct locations, it will know where to look for the tools needed to build them (make, libgcc, etc.) and to run them (Qt, GNOME). This is especially important for packages with lots of binaries that need to be compiled during an installation. Python numpy & scipy are perfect examples. Try to install these with pip, and you will see an endless stream of compile errors. However, installing numpy & scipy through the Ubuntu repository is as easy as...
$ sudo apt-get install python-numpy python-scipy
You are in luck, because you are using Ubuntu, one of the most widely supported and oft updated distributions existing. Most likely every Python package you will need is in the Ubuntu repository, and probably already installed on your machine. And every 6 months, a new cycle of packages will be released with the latest distribution of Ubuntu.