I knew it was going to come to this. Let me be specific on some stances:
You have a route and one session. The session is dependent of the route and consists are only on this session. One day you decide to add one of these junction controllers. Add it in the route and set the list of junctions to control. Go to the session and it is there. Great! If you install this controller in the session, it will stay there but not in the route (expected), so is better to do it in the route so it will show in all the dependent sessions (I know I only have one, but later in life, I may create others). Now here comes the twist: If you find there was a missing command in the Jtn. controller, you would think all you have to do is go to the route and add it, same as when you started doing this. Well, the change shows now on the route but not in the session! You have to go to the session and add that change there too. (remember that if you change or add in the session, it does not reflect on the route). So you investigate the matter and find that it depends on WHEN you implement the changes. You install the controller in route (not necessarily a controller, could be another object with controls of what it would do, such as Multiple Industries), and set it right then. Save and it shows in the session. If you go back a second time and try to do the same, it does not show in the session. Interesting or confusing?
A second case: You have a route. Has all the basic ingredients but not consists. A session runs diesels. One day you decide to expand and create a session to run steam. Easy, create a session of the route and add the corresponding consists. But you find that steam locos need water columns and coal loaders, and these assets are not on the route. Easy, in that session delete a short piece of track, and insert the asset pertaining to the coal and water. You would think that because you are in this session, things would not be messed in the other layers. Nope, if you do that, everything would get screwed. The correct solution if to delete that short piece in the route and leave blank. Now go to the diesel session and add your connecting track, then go to the steam session and add the object you need. And doing this, everything fits into place. But remember that because the route is missing this piece of track, next time you create another session, it will have the gap and you'll have to fill it, but not in the route.
I have more examples, but as I said, it takes space and is long, plus you have to concentrate carefully on what is happening to understand all. It may be on Wiki, but implementing in the real World is another thing. I try to stay away from layers. If you don't understand some basic kirks, you may run into problems and go around in hard to comprehend circles, and the complexity of layers (what layer are you on now? does not help.