I use MMR and Strava on the same Android phone simultaneously. I only have minor errors between the two.
It must be the way the software interprets the GPS data, as they both read the same GPS from my phone.
I also have a Cateye. On a typical 35km ride I find there's just under a 1% difference between the three readings.