It is just like saying directx is better than opengl or vulkan and unfortunately most people believe that. Nothing could be further from the truth. Hopefully Vulkan will get the support this time. There is no reason for PS5 to use more RAM than it needs. Why wouldn't they not have something like SFS or VRS is beyond me.
Developers only put on RAM what they want... there is no waste.
How people described SFS here is a bit simplicist.
It is not about discard for exemple non used data... that any game engine already does just fine.
SFS discard part of the data (file) that won't be used.
Let's take a texture as example.
Dev needs to use a only a part (crop) of the texture stored in the disc, he has two options:
1) Streaming the full texture and keep it in memory to use.
2) Crop the texture and create a smaller file on the game data with only with the part of the texture and stream that file and keep it in the memory to use.
The first option you will be having a waste of memory when the game only needs part of the texture.
The second option generate duplicated data in disc and add work time to crop the texture in development (it seems easy with only one texture but imagine having to do that with 1k textures or even more... each one you need a specific part of it).
So SFS do the crop work in memory while running the game if it defines from previous frames the other part of the texture won't be used in next frame.
SFS exists to discard the part of the data (in our exemple texture) that won't be used in that moment for the game.
You continue streaming the full texture to memory but SFS analise the previous frames what was used and discard the parts not used (and that won't be used in the next-frame)... so at the end you have the cropped version of the texture in memory without need to do that work.
That works very well but with some limitations.
For example SFS defines if the other part of the texture will be used in the next frames based in previous frames.
But for example if SFS decided discard the part of texture thinking it won't be used in the next frame but in the actual frame you need the other part of the texture in the next frame... if you have the full texture in memory you don't need to stream from disc again.
But if SFS discarded it you will need to stream the texture twice... in that case you should not use SFS because you want to have the full texture to be used parts of it in the sequencial frame (it is faster that way even if it uses more memory).
That is what I understand from SFS MS docs.
It is a feature to automatize the discard of non-used data in memory and decrease development time... devs can do the same manually but it will take time and $$$.