what is the main difference between Zerocoin vs. Zerocash ? are they the same ? Or two different protocols ? If they are two different protocols, what are similarities ?
Zerocoin is a proposed extension on Bitcoin to make Bitcoin more private. Zerocoin only hides the origin of a payment, the destination and amounts are still public.
Zerocash is a further extension of the zerocoin protocol which hides the destination and amounts. Zerocash transactions are more compact than zerocoin transactions.
Zcash is an implementation of the zerocash protocol onto a new altcoin. Both Zerocoin and Zerocash were intended for extensions to Bitcoin (they would require a fork). However zcash is just an altcoin (it began as a software fork of Bitcoin) with the zerocash protocol on top.