In the Quake series, Demos are "movies" of gameplay recorded by a person. The Quake games have built-in functionality to record short clips by using the "record" Console Command. Due to the way this is designed, demos must start recording at the start of a level, it is impossible to start a demo in the middle of a map. Due to this, this means that only the server itself can record a demo, none of the clients.
Demos output as .DEM files, which can be read by the game that recorded the file by using the "playdemo" Command. While part of the game, it is entirely a recording, meaning the player will have zero interaction with it. Furthermore, modifications do not affect demo files, meaning the experience may differ if custom QC files have been added.
While mostly outdated in the age of video sharing websites (which are far more convenient and don't require having the original game), demos were a convenient alternative to video files in the 90s, especially since the latter held a much larger file size.
These Demos load up with a certain game or collection of levels. They are mostly intended as a sort of teaser to showcase what the experience is like. The entire level will not be shown to retain some surprise elements in the levels. Often, they come in sets of three to replace the original three demos that shipped with the game, though this is by no means a requirement (a single demo could play over and over, for example).
Note that while these often are done for levels, there are exceptions, such as modifications wishing to showcase some change. These tend to be highly uncommon.
As opposed to the Pre-Loaded Demo, regular demos require the user to have a filename along with the "playdemo" Command. These often showcase the player's ability, such as attempting a speedrun or winning a Deathmatch competition. Unlike the Pre-Loaded Demo, which is often about the new content, these focus primarily on the competitive aspect. These can also be used as Machinima films, simple tests, or various other features as desired.
A big difference is that the demo file does not loop, which means that it has a definitive end.