I think Apple bet high on metal to f##k-off from prooietary API as CUDA which would mean having to mandatory include nVidia GPU, given the pace (and high success) nVidia has, it could mean every game, graphics or gpucompute developer paying tribute to nVidia, and all other API being eclipsed and considered second class choice for developers (and users).
ok that's right, they had legit concerns about.
what happened?
Vulkan initially backed by Apple not just arrived late to the party, also delivered s conceptually inferior API to CUDA, khronos group definitely is not successful or well motivated.
Given OpenGL/opencl and Vulkan actually don't rival CUDA Apple decides to take it on own, developing metal.
Metal it's a success in Apple ecosystem for gaming 3d and some gpucompute/ml.
But metal has it's own strategic and fatal failures:
It's an closed API, even while apple uses llvm to compile to .msl it's not documented, you have to do some reverse engineering if you want to compile directly to .msl, it's definitely does not help, and rises walls to support open STDs (as an native opencl/hip/SyCL compiler targeting metal .msl) and made mandatory to use Xcode to develop GPGPU, it's has as drawback developers having to code twice (at least) their solutions to address a market which represent 10-15% of it's possible revenue, few developers has economical motivation to do that, so it's unlikely an new GPU accelerated applications or game to be first on the apple ecosystem unless it comes from a developers already having a functional team for Apple developments.
But then comes the devilish machine learning, while most framework relies on Opensource and openstds few key openstds do not work or are deprecated or just don't have access to GPGPU on macOS as opencl required for Tensorfow in absence of CUDA, two years ago apple promised to have Tensorfow in metal in a year, it didn't happen yet, those doing ML targeting Apple ecosystem are using client (mac)-cloud(Linux/CUDA) approach to be productive and have it's inference done, this approach is often followed for those doing natural language processing w/o regard the platform they target as its inference use to be too long and heavy for workstations and ussualy is done at inference farms, but other applications as image detection or manipulation don't require nothing you can't put in a workstation, these development/research cant be done in a Mac, even the Mac pro, while apple offers CoreML there is no ml/DL papers using it (or at least are as common as a white whale).
While the purpose behind metal is valid, metal has no chance to withstand against CUDA or SyCL/Vulkan or oneAPI in the long term, unless apple open it more and even re-open again macOS to 3rd party API as CUDA, oneAPI, and Vulkan, so macOS users are not doomed to be second class citizen on the new world of GPU accelerated applications (3D, VR, AR, ML/DL/AI ) and stay passive waiting for a developer to finally release a Mac or iOS version of it's window/Linux/Android successful titles.