Under Options of the most recent release, v0.7.1, reads:
Optional transaction fee per kB that helps make sure your transactions
are processed quickly. Most transactions are 1kB. Fee 0.01
recommended.
Pay transaction fee: 0.00000000 BTC
What that field does is always add at least N BTC fee to every transaction.
When sending a transaction, the Bitcoin.org client will do a computation and insist on a fee to be paid if it determines the transaction will not be processed promptly unless a fee is paid.
Not all transactions require a fee. If the amount of the payment is not small or the coins are not newly received (or both), then you can likely send a transaction using the Bitcoin-Qt client without paying a fee.
But there's always a chance that without paying a fee that your transaction will not be processed in a timely manner, as it is up to the miner or pool operator whether or not to include your transaction when mining.
So some people will use this optional fee field to make it so that every transaction goes out with a fee and thus no transactions sent will be delayed for the reason that no fee had been paid.
So do you have to pay a fee? The Bitcoin.org client will generally tell you when you do need to pay a fee and when it does, then yes -- you must pay it or use some other client that doesn't perform this check. But if it doesn't tell you to pay a fee, then you don't need to pay a fee but your transaction could still end up being delayed as a result.