The last time I remember AMD having an uncontested lead in performance per watt was with the HD 5000 series over 14 years ago. They had Nvidia beat to the punch for DX11 too, GeForce wouldn't support it at all for the first 6 months of Windows 7's lifetime, and 10.1 support was pretty much an AMD exclusive through all of its (ir)relevancy, as few developers ever bothered as Nvidia hardware couldn't do it at all and by the time it was widely available, the cards supported the much better DX11 codepath anyway. This early implementation had some implications that remain true even today, such as their driver not supporting command lists/deferred contexts to this day, as it was considered optional by Microsoft and AMD opted not to implement it.
Even then, Cypress had a limitation with its very poor tessellation performance caused by low triangle throughput when compared to Fermi, and the drivers were a mess through most of its lifecycle - owners of the HD 5970 such as myself had to deal with pure asinine garbage such as negative scaling and bugs because some genius at AMD decided that making CrossFire forced-on in the drivers with no way to switch it off was a great idea. By the time they allowed this without a direct registry edit, it was too late. Rookie as I was at the time, registry tweaks were simply not something I dared touch because I just didn't understand it.
Game developers being lazy and high-end games such as Crysis 2 targeting Fermi hardware primarily due to the GTX 580 being much better than the rest of the cards of its time and not bothering with handling occlusion well (particularly as Fermi could manage the geometry) rendered more than a few accusations of sabotage by Nvidia at the time. Even the original GF100 could handle twice as much geometry as Cypress back then. That isn't to say AMD is lazy or even utterly incompetent buffoons, because they aren't - they're pioneers even, their problem is of a managerial nature - for example, the RV770 used in the HD 4870 already had a programmable tessellator, but as it wasn't conformant with the DX11 shader model 5.0 spec it went largely unused at the time. I honestly and sincerely believe that the problem with Radeon is of a corporate nature, it's the company culture and the boomers at the helm who just can't keep up with the industry any longer.
This would again repeat with the infamous "Gimpworks" from Nvidia, which could largely be attributed to the AMD driver's low instancing performance as it was restricted to immediate context and the CPUs of the time simply didn't have the IPC and frequency to muscle through 200,000+ individual hair strands + the game's usual requirements. When Nvidia ran into the instancing wall with the Fermi hardware, they simply disabled it on Fermi and removed the hardware command scheduler altogether beginning with Kepler, which meant the driver handled it - and in fact, still does handle it with deferred contexts and can even defer commands from and originally immediate context, sacrificing what is now ample CPU power to maximize GPU performance. This is the true reason why AMD cards have had their long standing (and founded) reputation of performing better with low-end processors with few threads available.
With the longevity of the current generations, software innovations will make or break the user experience, particularly as hardware has grown quite powerful and games have not seen an extreme increase in fidelity since the PS4/Xbox One days, most of the power of these new consoles is spent in sugar coating the graphics with fancy ray traced illumination and high-resolution textures. The latter has never been a problem for a powerful desktop GPU and you can disable the former in most cases. Nvidia understands this, and that is why they zealously and jealously guard and segment their star features such as DLSS 3 as an incentive to have people upgrade. AMD, on the other hand, is still struggling with high idle power, TDRs while playing videos, and the occasional completely botched driver release... and FSR 3 is delayed/still a no show.