Safety is relative---large payment processors like Coinbase probably have non-block-chain anti-fraud measures. However, a confirmation (and each additional confirmation after it) reduces the risk of a double spend fraud, so waiting for a certain number of confirmations is an easy and effective anti-fraud measure that doesn't cost you anything.
I don't know for sure what happened to MtGox, but it is true that an unconfirmed transaction can become effectively unspendable if any of its inputs become unavailable---which could happen because a block was created containing a transaction that already spent that input (a double spent) or because the transaction which created that input was added to a block in a mutated form (transaction malleability).