Why do I need to know about this?
Suppose you want an App with image recognition.
Basically, you want to use what is being called machine learning or artificial intelligence. You have two approaches: 1) Onboard and built into the App (coreML) or server side APIs like (Watson).
Ok that's easy enough for an App developer to understand. The advantages of onboard are obvious, it's faster and no need for an internet connection. However, one problem with the current implementation of coreML is that your trained ML Model files are not dynamic. You have to update the App in order to get a new version of your model.
Watson as an API is server based so your trained model is able to be updated at anytime without updating the App. Watson is also more accurate because it has access to more trained models.
The difference is important for App users to understand. Depending on the marketing claims, see if your machine learning App is onboard or server side. They are doing some amazing things with onboard ML, but compared to the entire world? True artificial intelligence is tapped into big data. There is only so much you can do with embedded models.
But that is not to say onboard ML is not valuable. It can be extremely valuable for certain kinds of applications. coreML is a terrific addition to Apple's core SDKs. And Watson is an amazing feature in the IBM Cloud.
Best Camera Predicts a partnership here.