Here is why DX9 is still technically relevant today: Porting.
Before DX9, graphics were blocky. "Next-gen" meant slightly higher resolution textures. But when DX9 dropped, it introduced Programmable Shaders (Pixel Shader 2.0 and 3.0). directx9
While modern APIs like DirectX 12 and Vulkan offer breathtaking ray tracing and absurd efficiency, they are also complex and unforgiving. DX9 was the friendly giant—powerful enough to create masterpieces, simple enough that a single ambitious programmer could build a game from scratch. Here is why DX9 is still technically relevant today: Porting
This is the standard high-level method for drawing 2D text. It uses GDI internally to render text to a texture, which it then draws as sprites. But when DX9 dropped, it introduced Programmable Shaders
Furthermore, DX9 had a notorious memory management issue: the "memory leak" crash. Countless games would run perfectly for an hour, then suddenly stutter or crash because DX9 failed to properly release old textures from VRAM. Fixing this required arcane third-party tools or game-specific patches.