Think about it; instead of those in charge or the instances deciding who they don’t want to be federated with and thus restricting content for the users, it would be better if users were able to block entire instances instead.
We’d be able to curate our own browsing experience so much better without admin/mod drama influencing the rest of us.
Edit: Alright so maybe not exactly replace defederation, but it should still be an option available to us, and in general should become the default action before defederation IMHO.
If making your own instance were something common for normal users, then I expect the federation would have to face thousands of single-user instances made by random people without ever being sure which ones are safe and which ones are just bots/spam/illegal-stuff.
A lot of instances would (understandably) want to disconnect from the fediverse if that were a common thing… or at the very least they would use allowlists for federation instead of blocklists (in fact, some already do). So it would just result in more fragmentation, not less.
This means the process for your instance to initiate federation with all other ones would likely become more complex/inefficient than directly creating one separate user account in each of the instances you want to visit (if it isn’t already).
I feel the issue is in the design of how the fediverse places so much responsibility in each individual instance… instances shouldn’t be required to mirror third party content just so people can access it. It should be possible for people to simply connect to third party websites if they want to (with their home instance only acting as a sort of identity provider, like OpenID), without the home instance having to proxy/host that content if they don’t approve of it.