//access session directly from the Service Container
$value = $app->make('session')->get('key');

Because the Facade resolves the session key out of the Service Container and call the method get on it

Once understood what a Facade does, you should understand what is the Service container and what are the benefits of using it

The Service Container in Laravel cloud be a Dependency Injection Container and a Registry for the application

The advantages of using a Service Container over creating manually your objects are well stated in the doc page, but briefly:

Capacity to manage class dependencies on object instantation

Binding of interfaces to concrete classes, so that when a interface is requested in your program, a concrete class is instantiated automatically by the service container. Changing the concrete class on the binding, will change the concrete objects instantiated through all your app

Possibility to create single intances and get them back later (Singleton)