Yes, you can type “free website hosting” into a search engine of your choice, and you will get results. Don’t do it. At best, you will be stuck with shoddy service, semi-reliable uptime, and ridiculously short-lived storage and bandwidth capacities. The free options out there will frustrate you, and putting yourself through that makes zero sense when you can have quality hosting for as little as $2 a month.
Most VPS hosts only offer servers running Linux-based operating systems; you'll need to dig a bit to find Windows-based VPS hosting. This is important to note if you're planning on running software that requires a Microsoft-compatible environment. That said, Linux-based VPS hosting will save you a few bucks; Linux servers usually cost $10 to $20 less than Windows servers.
A VPS runs its own copy of an operating system (OS), and customers may have superuser-level access to that operating system instance, so they can install almost any software that runs on that OS. For many purposes they are functionally equivalent to a dedicated physical server, and being software-defined, are able to be much more easily created and configured. They are priced much lower than an equivalent physical server. However, as they share the underlying physical hardware with other VPSes, performance may be lower, depending on the workload of any other executing virtual machines.