*View Layers* allow you to easily save and switch between some visibility settings, for example in *ViewLayer1* you can hide *Collection1* and *2*, while in *ViewLayer2* these collections will be visible but some others will be hidden. You can also enable or disable some settings in the *View Layer* panel. This way you can test different solutions for your render (like enable or disable a set of lights for example).

But I guess *View Layers* are mainly used to combine different layers in the *Compositor*. In the *Compositor* you can assign an effect to some view layers but not to other ones (and therefore to some collections but not to other ones), then combine these view layers to have a unique render image. For example this way you can affect a *Glare* effect to some objects but not to other ones.