I randomly found this great video explaining why Nvidia is outperforming competitors and how they can have over 75% gross profit margins.
Basically Nvidia does great GPUs but especially in low end markets, AMD GPUs gives better performance per dollar spent. The main reason for Nvidia's dominance is its CUDA toolkit. It's more flexible and easier to use than other alternatives. Without it, on paper performance doesn't translate to better performance when running code.
There are some attempts to end Nvidia's CUDA monopoly by creating open source alternatives. The issue is that Nvidia can legally protect others from copying CUDA. Companies like Intel and AMD have avoided funding ZLUDA, CUDA copy written from scratch, because they know the risk of being sued for it. If it can't be copied, it's risky for anyone building top of it, to suddenly switch to a competitor because it takes resources and no one else has big enough community to support as much features and make sure they work.
My personal belief is that the alternatives are going to get enough support at some point from AMD trying to make its GPUs more competitive or from users who want to avoid vendor locking to Nvidia. When enough resources and time has passed, Nvidia's CUDA loses it's superiority which forces them to decrease their prices. This is going to require other manufacturers to make better GPUs and invest to building an open source alternative.
It's impossible to say how long this takes but it seems like based on the importance, it could happen within the next 5 years, probably even 3 years. Nvidia's P/E is right now 63, and AMD's 198. I don't think either of these are justified even with the rates they grow. It might be that in the next 5 years share prices still increases but in the next 10 years, competition is going to eat their profits even if the market becomes much bigger. This is not a financial advice.
I started playing with machine learning around 2017-2018. I remember how every tutorial I watched talked how Nvidia GPU is the best choice for own setup because AMD wasn't properly supported by machine learning technologies.
I believe competition is good for consumers. Some make argument that when a company gets monopoly, it's easier for them to invest R&D and it could actually be better for consumers. I just don't think there are good examples of it. More often, status quo creates laziness which is bad for the whole market.