With merkle trees, a light client can be sure some transactions he receives are correct with a minimal amount of the blockchain data. How can such a client, though, be sure he received all the relevant transactions from/to his address, in order to know his full balance? What if his peer censured some transactions for some reason?
It can't. However, it is sufficient to request the information from a single honest peer, as the proof does work in the other direction.
Several proposals exist to improve this, including Committed Bloom Filter and committed adress-indexed UTXO sets. None of them have been implemented, however.