'Serverless', like many things in our space, is becoming an overloaded term.. but generally what it means is "Functionally, Our architecture does not depend on the provisioning or ongoing maintenance of a server"
The first instance that comes to mind is a single page javascript app, that uses local storage, and is stored on something like Amazon S# or Github Pages (or any static site - those are just common examples). Imagine something like a 'todo' or 'getting things done'-style application that runs entirely in your browser. Your browser hits a service like S3 to download the code, and the items you store are all stored in local storage in your browser. There is no server you maintain for this.
The second instance, and is a bit more complicated (and also the one that popularized the term 'serverless'), uses a service like AWS Lambda. Let me explain this by presenting the problem it solves:
Many times in my career I've solved a business problem for a client with little more than some ruby code that performed a periodic extract, transform, and load (typically written as a rake task). Once solved, I'd typically automate it with cron. Then the problem becomes 'where do I host this thing that runs once every hour?' For some clients, we'd set up a server in their existing infrastructure. For others, we'd set up an EC2 instance, even though it was idle 99% of the time. In either of those circumstances, there is a server that requires provisioning, patching, monitoring, updating, etc.
With Amazon Lambda, I can take that rake task and run it on their service as a pure 'function'. I can even schedule it. No longer would that client need a piece of infrastructure for such a simple once-an-hour thing.
With 'serverless' there is still a server, just like with 'cloud' there is still a computer. There is just a level of abstraction on top of it that takes some of the environmental responsibilities for you.