Why are all engines identical in typical commercial airplanes?
Engines don't fail, on average. And if they do, it's a very low probability that two engines will fail at the same time.

Modern jet engines are extremely reliable, with failure rates on the order of 0.01/1000hrs. And if you do have a failure, you have redundancy, as you have two (or more) engines. A plane can stay aloft and land with a single engine.

It would add a lot of complexity and maintenance costs, with no real benefits.

If the failure is external, such as water in the fuel, lack of fuel, or ash ingestion, two different engines are unlikely to help, because all jet engines works in a very similar fashion. The external problem would simply affect both, maybe at slightly different rates, but ultimately shutting them down anyway.

So it adds cost and complexity, without providing any real improvement. Jet liners simply does not crash because all engines stops due to internal problems. 

The one case where it would help is if there's a design fault with the engine, e.g. manifesting in turbine breaking after x hours. But engines are extensively tested before being put into serial production, and this occurs very rarely on production aircraft. In addition, the likelihood of the same problem occurring on two engines in such a sport span of time as a flight, but not at all during testing, is a rather low likelihood.