"miners absolutely need the entire blockchain. Normal users need just the headers and those transactions that are linked to their addresses."
Is there a more detailed explanation around?
The reference client uses a full implementation of the Bitcoin protocol and works as a full node. To do this it uses the entire blockchain to store and relay transactions.
The Android app and Multibit use BitcoinJ as a backend and BitcoinJ only cares about addresses it holds in its wallet, so it doesn't need to have the whole blockchain on its own. Doing this though requires trusting those full nodes running the reference client.
If you have a computer that is on around the clock, like a desktop, laptop effectively used as a desktop, or a home server I recommend running a full client on it to help strengthen the network. If you have a lot of coins you want to keep on lockdown you can run the Armory client to manage that wallet, but Armory depends on having a full client running on the system it is on to provide it networking services.
Then for coins you want to just have on hand MultiBit or the Android Wallet are good solutions that provide you ready access to your coins. Electrum is another good lightweight client, but I have less experience running it.