I've heard that Ethereum can't talk to other blockchains (if I understand it correctly). What does it mean and what is the reason behind this?
In general, exchanging information between blockchains in a verifiable fashion is a difficult problem, because it requires generating and checking some cryptographic proof that something happened on another blockchain.
Ethereum's in a better position than most when it comes to this, since it's turing complete, and thus significantly more capable than most blockchain-based systems. The btcrelay project recently deployed to the main network, and permits Ethereum contracts to check the status of Bitcoin transactions, for instance, which would allow you to, say, require payment in Bitcoin before taking some action on the Ethereum blockchain.