Here's my attempt at a layman answer:
'Regular people' probably would never use a Docker container directly, but for now, just know that many of the services and applications you use, may use containers as part of their product or service, or developers used containers to build those services.
In layman terms, a Docker container is comparable to a VM, but containers are lighter, quicker to deploy, but more dependent on your operating system. These are trade offs the developer considers when deciding on whether to run a full VM vs running a container as part of their development process. And this is not a 'use one or the other' situation. You can use containers and VMs together.
Container can't (easily) run apps from other operating systems. That is the advantage of a VM: you want to run a Windows app on your Mac? Download a hypervisor (such as VMWare, Virtual Box, Parallels), download Windows, create a VM and run your app. A disadvantage is that you are downloading an additional full OS, and creating VMs (which each contain the OS) can take up much more space than using containers, which share/reuse resources between themselves.
As said before, containers, unlike VMs, are very dependent on your host OS to help run applications/processes. The advantage is that everything has a much smaller footprint on your computer as you're using the host OS vice downloading another OS, to run the application. The disadvantage is that since Docker needs direct help from your host OS to run the app in your container, the container needs to be the same OS as the host. So no (simple way) of running that Windows app you want to use in a container on a Mac, as a Windows container would not get the help it needs from macOS.
So a common scenario is a developer, working in Linux, creating a solution that may go to a different flavor of Linux. As all flavors of Linux share the same OS kernel, this is no problem. The container will receive the help from the kernel it needs.
And this leads back to your original question: No, an average user has no direct use for Docker, but it is a valuable tool for developers.