When Unity introduced this feature, it saved its users from sacrificing their workflow and replacing the old method by disabling/deactivating GameObjects, to preserving them and gaining advantage.
However, this already built-in feature lacks a very important aspect: __Making mulitple GameObejcts hidden/unselectable __simultaneously____.
Currently, you cannot do this, the only way out is to revert back to the old method.
Of course, one might say: You can solve this by creating a parent GameObject and hide/make it unselectable, and the rest of children will follow. Like this:
However, the flaw with this method, is that: Yes, my GameObjects could be under a parent, but what if I want to apply this for __some__ of them and not all? What if I have too many of them?
To make it clearer: This feature is mostly useful for so many GameObjects and for Big Projects.
Let’s say you have 100 GameObjects under a specific parent, and you need to make 30 of them hidden and/or unselectable … currently, you have no other choice but to do it individually for each one of them; which is tedious and unpractical. This is where this feature comes in handy.
Shift+H shows only the selected ones. You can then either click the button to exit the “isolation view” or press Shift+H again to go back to normal. It actually saves the previous Hide/Unselectable states for all other objects.