Why Cardano just don't cap the active pools?

I mean, many chains will cap the number of the active validators, Cardano don’t do that.
Investors/Stakers don’t know where to put their ADA, some of them will have sometime to understand how profitable is or not a pool.
Many pools are simply not viable, they aren’t mining blocks, why do they need to be listed?
Why not just limit for example to only 500 active validators, let others die and that’s it?
The decentralization is about how many nodes you have, not only about how many validators and DEFI on Cardano is struggling now because of the metric of 74% ADA on stake. This isnt healthy, people should USE their coins not just let there for a small yield.
A decent amount of for example maximum 800 pools should suffice since the chain activity is not the brightest on cryptocurrencies.

In a permissionless system, who should decide that based on which metric?

Each wallet app and each explorer can already decide how to sort and present pools. And non-viable pools will already be at the very end of each list.

Moreover, they are non-viable precisely, because they do not have much stake, so it is also not really a relevant problem.

(More relevant might be the problem of inactive wallets delegated to already retired pools, where presumably nobody is looking that closely and just comes back every few years. Or the keys are even completely lost. Not clear what to do with that except just leave it be.)

Since staking does not lock on Cardano, I really do not see that problem here. If people wanted to put ADA in DeFi applications, they could anytime.

Moreover, ADA in DeFi applications can very well be staked – either to a pool of the provider’s choice or (as Indigo demonstrated) even to the stake key of the user.