It's free in the sense of all the software being available to do so for free (OS, webserver, php, media software), and free as long as you have something to run it on; chances are anyone reading this can use the same device to run the server.
Whether or not the people watching the videos from the server will have a good experience is something different :p But even a low-speed broadband connection in the US today has enough upload to handle small sites and I can vouch for this on measly 1MB/s upload (I've self-hosted videos over years with all the mentioned software).
YouTube is a provider that has the resources to allow people to upload videos, and watch them for free. It's their platform, and they have usage rules.