How much are these fees? does this mean for example if i have to pay someone 1 btc i will need to put 1.01 for example to compensate?
Bitcoin is a voluntary system. It is not "required" that you include a fee. You are welcome to attempt to broadcast a transaction with no fee (some wallets prevent this under certain circumstances, others will allow you to do so regardless of the circumstances).
However, peers are not "required" to relay your transaction. They are welcome to refuse to relay it for any reason they like. Most peers will be running the "reference client" called Bitcoin-Qt. In that case they will relay most all transactions, but if the transaction appears "spammy" or like it could potentially be part of a denial-of-service attack on the network, then they may refuse to relay the transaction if it doesn't include a sufficient fee (typically I think that fee is 0.0005 BTC per kilobyte, but I'm not certain on that number).
Additionally, miners are not "required" to include your transaction in a block. They are welcome to refuse to include it if they feel they can increase their profits by including some other transaction that has a fee instead of your "free" transaction.
This all being said, most all "free" transactions where all outputs are greater than 0.01 BTC and the total size of the transaction is less than 10 kilobytes, will be relayed and will eventually be included in a block by a miner. Miners see a long term benefit to maintaining a system that is cheap and easy to use. The miners are currently subsidized by the minting of new bitcoins, and they get enough revenue from that subsidy that they are generally willing to include a reasonable number of "free" transactions in each block they mine.
If a fee is required to be relayed, most of the wallets will warn you or include the fee for you.
Also I've heard of free bitcoin sites collecting payments and doing them in bulk in orther to save on fees, how is this? are the fees not charged on a 1 wallet transaction basis?
The fee burden is generally triggered by transactions with outputs less than 0.01 BTC or transactions larger than 10 kilobytes. If a fee burden is triggered it is a minimum of 0.0001 BTC to be relayed and I think it is 0.0005 BTC per kilobyte if larger than 10 kilobytes.
So, a single transaction can have 20 outputs all less than 0.01 BTC and as long as the transaction is less than 10 kiltobytes a token fee of 0.0001 (or perhaps 0.0005) will be sufficient. If those 20 outputs were each sent as a separate transaction, it would require 20 fees each 0.0001 (or perhaps 0.0005?)