Serverless usually means that the servers are 'hidden' from the user. You only get one shell, one desktop environment, but on the backend, your session might be split between multiple servers. Or it might not be. You, as the user, won't know. It is basically an abstraction layer between you and the servers themselves.
To add, it is typically manifested as generic 'compute' or in the case of azure 'functions' where you environment the code is running on is abstracted away, instead you are just paying for compute, e.g. this function takes x time/cycles to run and so it costs y to run it each time.
In theory you don't need to worry about scale or anything, just deploy your function, and pay for what it uses.
Serverless means you don't have a server running 24/7 that's sitting idle waiting for requests. When a user makes a request on a webpage/app it'll run a short lived piece of code for a few dozen milliseconds then shuts off. No permanent "server" running. Of course there's servers running the code to start that function and usually a permanent database server but the main app/website code is running on demand only.