This is intended as a platform-agnostic question, but I currently use OpenGL (with sights on Vulkan) if it is relevant.
The last time I dealt with creating lots of dynamic lights (~10 years ago), the best option was deferred rendering. Which works, but you have all of the problems that come with it (no MSAA, transparency is difficult, G-Buffer size, etc.).
These days, it appears that the industry is moving away from deferred rendering. I've seen mention of clustered forward rendering, more recently there's some sort of voxelized rendering? And then the new stuff, UE5 using some form of software rasterization, and id Tech 7 using some form of forward rendering with per-pixel rejection.
At this point I don't know what the differences are, what to pursue, and what is limited to specific highly-optimized scenarios.
Are there any resources for getting up to speed on the current techniques? Is there a current "best" or recommended technique for modern hardware for rendering large numbers of dynamic lights?