Microsoft implemented D3D12 shader caching in some prior version of Windows 10, NVIDIA I think was first with it and AMD then followed.
AMD and NVIDIA are now having some issues due to the growing size of these caches which also increases their importance since having these pre-compiled reduces stuttering or loading times that were used to mask shader compilation and some games also do shader caching of their own including for D3D11 so not just the low-level API plus Vulkan and SPIRV I think is what that format is called.
Game implementation can vary a bit but the increase in shaders and also more complex shaders and shift into compute and later on mesh shaders also increases the reliance on shader compilation and the importance of a robust shader compiler which is something I believe AMD and the Valve Proton effort on Linux is currently involved in heavily and even on Windows Steam now has a way to preload shader caches which Valve has also added to and improved on over time but I think it’s predominantly for the Vulkan API so far.
For NVIDIA the cache should be in the ProgramData directory and from ManuelG the community representative and active on sites like Guru3D the cache is kept around 1 GB and cleaned I think on a daily basis for when this is exceeded.
AMD increased their cache a few years ago but I don’t know what the current limits are, cache doesn’t seem to be cleaned out other than on driver upgrade which wipes the D3D and VLK shader folders entirely. (Keeping the OGL one for some reason.)
I think AMD has improved their shader cache but the setting for actually toggling this disappeared in Adrenaline 2020 though the registry key for it is still there, usually it’s a per-profile system so older drivers or less known games won’t be part of this and it also for some reason tends to cache certain apps and programs although I think there are blacklists for some software too.
NVIDIA I believe has a per-profile setting for it’s toggle and you can also add new games and get it to work with these pretty sure both AMD and NVIDIA has a really good Vulkan and D3D12 driver code including shader handling less certain on AMD and D3D11 and earlier.
For Microsoft the cache invalidates on software updates and also driver or OS updates so the folder might have a number of older subfolders but it’s frequently system apps although UWP titles I don’t know if those caches end up here or in the apps user folder and settings.
Games like Borderlands 3 under D3D12 dumps some shader data here too but much smaller than the games own cache curiously enough, about 110 MB or so with the full cache at almost 900 MB split between Pixel, Vertex and Compute I think is how that worked for this game and it’s D3D12 API implementation.
(Some games also have a pipeline state file in the game folder or such think it makes things a bit faster for some of the core shader data not entirely certain here.)
Emulators might be a good way to see it too like the newer WiiU one with CEMU and compare how a game runs before and after the caching is (mostly) finished but that’s a bit more of a extreme situation and I think the Vulkan API implementation removed some prior OpenGL bottlenecks too speeding things up. 
EDIT: Err how to sum this all up then.
Storage API’s and file system limits, thousands of files getting processed and more so for the newest games so this makes a really big difference and makes it quite important for smoothness and minimizing stuttering or having it trying to compile things in the background or slowing down initial start or loading times although doing it all at ones will make the initial startup and any further required shader compilation times a bit slower even on higher-end SSD systems.
Also makes it important to get this right and not get a corrupt or incomplete or otherwise buggy shader cache or such.
And the summary of the lengthy post ended up being lengthy too. 
Think I attached this to the above post too instead of as a non-quote since this is more of a general bit about it.
EDIT: It’s slow and non-perfect but once it’s done it makes for a nice improvement. That should do it.
But when games have 10k+ shaders (Shadow of the Tomb Raider I think for issues around DXVK performance linked to just how much shader data this game had on analysis.) it’s not going to be the fastest of tasks to process and newer games even with possibilities of using newer shader techniques will see it increase further.