Like texascrane mentioned, adding modules means recompiling, so updating distro, ppa, etc. doesn't always solve the problem.
I want the cache_purge and uploadprogress modules compiled into my nginx.
However, instead of compiling from source, it's more convenient for me to edit the existing deb package, change modules in the debian/rules file, apply a new source tarball for an upstream release using the uupdate debian script, and then recompile the package. Or in some cases, take a package from a newer release and backport it.
It's neater than compiling from source and it maintains all the customized scripts, correct folder locations, logrotate configs, etc. for your distro.
And if you need it on a few machines, it's easier to distribute the customized packages. Plus other people can get the benefit of your work. (
https://launchpad.net/~brianmercer/+archive/nginx still testing 1.0.0 with the contrib modules)