This is a decent explanation of how ZCash improves privacy over Bitcoin: https://z.cash/technology/zksnarks/
TL;DR: a blockchain is a public ledger, and thus all transactions are visible with amounts, source and destination. zk-SNARK is a method for encrypting transactions, but in a way that all nodes can still verify that the transaction is valid (not spending more money than you have, not double-spendoing the same money, etc).