I personally don't want Bonjour (Zeroconf, mDNSResponder, Rendezvous) running all the time, because I rarely use it and because it gives away information such as your username, what services you're running, computer name (mainly bad if you leave it like "Bob Dole's Computer"), and more, depending on what you're running. From a security perspective, you're making it easy for an attacker to enumerate services and usernames without even having to do active scanning a lot of the time. Not only that, but I know many system admins who don't like "chatty" machines, which Macs can be if this is left on.
However, Apple has never given a good way to disable this until desired. In 10.3, I had to move the mDNSResponder StartupItem, and in 10.4, it's a similar situation. You can disable it once by running (shown on two lines, but should be pastable):
launchctl unload /System/Library/LaunchDaemons/\
com.apple.mDNSResponder.plist
However, Bonjour will then relaunch on next startup. According to launchctl's man page, I should be able to put that command (or something like it) in ~/.launchd.conf or /etc/launchd to tell it not to load mDNSResponder when it starts up. However, I tried various combinations of that (with sudo and without, and with the launchctl command and without), and it didn't seem to work.
launchctl load /path/to/relocated/com.apple.mDNSResponder.plist
[robg adds: I haven't tested this one...]
Mac OS X Hints
http://hints.macworld.com/article.php?story=20050707222434355