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).
2It's not safe at all. Don't do it unless you believe that constantly rolling back your business transactions (to re-adjust your business logic to TXs that never confirm because their unspent/unconfirmed outputs were (double) spent from their previous owner) won't cause huge problems to your service sooner or later. – George Kimionis – 2014-10-14T08:27:18.077