Your point about the integration between software and hardware is spot on. Even the Android devices with powerful GPUs or AI accelerators are really difficult to access because Android APIs (even the NNAPI) is really tough to use. Core ML "just works" with the CPU / GPU / Neural Engine.