A scene state is a View Layer.
So, what can be modified without creating another scene is limited to View Layer properties visible in View Layer tab and collections exclusions from View Layer.
Objects (persons or lights) may be in collections that can be excluded from a View Layer.
For Cycles, different lightings from lights and emissive materials can be in Light Groups, without requiring to add more View Layers.
But you can not have multiple worlds rendered for one View Layer.
There is only one World per scene. It can be animated or overridden by another world in a different View Layer.
EEVEE is more restricted in terms of View Layer Properties.
But a world can still be animated. Lights can be in different collections.
For material changes, collections can be duplicated.
Basically, that can be one scene using two view layers as render layers. But because there is only one Compositing applied to scene ; that implies to animate it, switching look, according to camera switching.
And that may correspond to render unnecessary passes per frame.
Using two scenes may look like complicating file ; but that results in less compositing work and less animation. Switching of looks according to cameras may be perfectly handled by a switching of scene strips, in a third scene for montage in VSE.
You just need to make specific to scene what is different, and keep what is not in collections linked to both scenes.
To me, for that example, that looks simpler to have 3 scenes with 1 View Layer each, than 1 scene with 2 View Layers.
That easily can be one file. But if you use assets from libraries in other files ; you can use library overrides on them. Using serval files, for that purpose, limits changes to minimum required. It lowers memory consumption.
If you are working alone, are the one who has the final say and will not render anything before being sure ; that is not annoying to use several scenes in one file, unless they are very big.
If you are working in team, know that somebody will ask for retakes and will render a lot of tests ; that is preferable to multiply passes and overridable things.