Fungibility is an important property of any functioning currency.
You can try to hide your bitcoins as much as you want, if you tried to mix your non-fungible coins using a mixer, coinjoin or another type of “anonymity enhancing feature”, these transactions can still be flagged as “possible suspicious activity on the blockchain”, even if you are anonymous. So don’t confuse fungibility with anonymity.
Check here for more information on Bitcoin fungibility issues.
Monero enforces a minimum mixing across the network, so all outputs are mixed by default. This is possble due to the nature of the mixing: monero mixing is “passive” and can even be done offline!
Transaction outputs have “plausible deniability” about their state thanks to the ring signatures: you can’t tell if the coins are spent or unspent in a certain transaction. Therefore you can’t follow the money flows through the network. This leads to an opaque (non-transparent) blockchain making all coins equal.
Even though every transaction on the network is obfuscated, the monero emisson is not. This makes it easy to audit the number of coins in existence on the blockchain. This is not the case with for example ZeroCash.