Not all transactions, and not always.
A transaction may be safely sent without fees if these conditions are met:
It is smaller than 1,000 bytes.
All outputs are 0.01 BTC or larger.
Its priority is large enough (see the Technical Info section below)
https://en.bitcoin.it/wiki/Transaction_fees
Of course if the network is too crowded it might not be so safe
the only thing that can happen if you don't send a transaction with fees, is that it might take a very long time (even a week) to get confirmed.
you can double spend the coins if they are not confirmed anyways.