I would add two points to those already mentioned: First, if you cannot accept inbound connections (because you are behind NAT or have specifically disabled them) you won't really be helping the network. Second, if you are running any version earlier than 0.3.24, you could actually be harming the network, due to a bug in those versions.
For some reason that isn't well-understood, the Bitcoin peer-to-peer network is consistently short of available inbound connection slots. This makes it more difficult for newly-started clients to establish a resilient connection to the Bitcoin network. If you can accept inbound connections, leaving your client running helps reduce this problem.