I'm surprised nobody has mentioned the difference between these two devices. Iphones and other cellphone apps are pulling their location data by triangulating from the cellphone towers. Garmins and other GPS running watches are pulling their data from the GPS satellites. The cellphone apps are more subject to variation depending on where the towers are located, etc. They are pulling data from ground installations.
The satellites are more accurate--the Garmins are getting their location data from the sky. That's the reason for the difference between results.
You have to decide for yourself whether the variation makes enough difference to you. It may depend on cell tower coverage where you are running--obviously more and better cell tower coverage will translate to more accurate location data. It may also depend on the cell network you are on, i.e. Verizon vs. A T & T, etc.
The convenience of having your music and GPS/workout data on one device is one reason to use the Iphone or android device. Accuracy, pace info, etc. may be a reason to use a Garmin or other GPS device. Both have their place.