What does it mean that some Bitcoin clients download the entire block chain (all transactions ever happened) and others not?
Security of Bitcoin as a whole depends on the Block Chain being held in full by many people. Currently, the Standard Client does exactly that. However, given enough copies of the Chain, one can assume the system is secure enough from the data being lost and rely on other nodes to provide the information we require when we need it.
This is where Thin Clients appear - they only store the information that is useful to them and discard all the excess. Thin Clients usually scan and verify the entire Block Chain on the go to look for any information that is of interest to them during the first synchronisation. They get that data from the Standard Clients operating in the Network, while not providing the same services to other Clients themselves.
Next type of Client relies on external servers to store and verify all the data for them and provide it when needed. They only store their Wallet locally and use it to sign transactions created from provided information. The servers supply them with information about their balance, list of unspent transaction and the like.
Last type of Client could be considered an eWallet, where all the information is stored by the server, including one's private keys used to sign transactions. With this you don't need to store any data locally and instead rely fully on third party to secure your money for you.
All in all, the more data a Client stores, the more independent it is from others. Some Clients sacrifice security for convenience, and there are many levels available for both.
The clients have different security and usability parameters. I won't repeat the information that exists - a few links that will help you understand:
It's up to the user to choose how paranoid he is, what security assurances he wants, and how exactly he wants the client's usability to behave.