To prevent UTXO bloat from people embedding data in fake outputs that are probably unspensdable. OP_RETURN is explicitly probably unspensdable . So it doesn't enter the UTXO set. There is no way to stop people from embedding data on Bitcoin. It's not possible. So give them a place to do it that doesn't harm Bitcoin.
That's why it was added.