But making a GPU is hard. Making a good GPU is even harder. This becomes a chicken and egg problem. If NVidia's hardware has quirks, and you're a game developer, you optimize your game for Nvidia's hardware. If someone else tries and builds a GPU, they discover that many, popular, games run like sh*t. Because of tens of years of strange workarounds to ship a game, drivers rewrite commands for specific games, game devs abuse the directx spec or do it wrong.
However, Nvidia set out 10-15 years ago to corner the professional general purpose GPU compute market with a software layer called CUDA. Software was written and optmised for CUDA, and not any other generic graphics library for reasons I don't know (I'm not a graphics developer, just a gamer). So now Nvidia enjoys a moat in gpGPU (as it was called).