From Quake Wiki
Add-ons, more commonly known as mods, usually come in a folder in a zip file. For instance, if you downloaded Prydon Gate, it will come in a folder called PRYDON. To install this addon, place it in your Quake directory, (so it is alongside the "id1" folder). For instance, if your Quake directory is C:\QUAKE, make it C:\QUAKE\PRYDON.
Congratulations, it has been installed. Now how to run it. You will either need to use the DOS Prompt or the Windows Run command, either way run the Quake executable, followed by the -game command-line argument, followed by the folder name. For example:
C:\QUAKE\GLQuake.exe -game prydon
Some addons (read the readme first) may require more memory to be allocated. For this, use the -winmem command-line argument in DOSQuake and the -heapsize argument in WinQuake and GLQuake (and all engines based on them).
There is an easier way to run the official mission packs, Scourge of Armagon and Dissolution of Eternity. They should come with an upgraded DOSQuake executable (v1.08), but if you have WinQuake or GLQuake or a patched DOSQuake, you're fine. For Scourge of Armagon, use the command-line argument -hipnotic. For Dissolution of Eternity, use -rogue. This way you can have mods of the official mission packs, which are in turn mods of Quake. Cool, no?
To install a user-created map, download it and extract the .bsp file. Move into your id1/maps folder, for instance if C:\Quake is your Quake folder, move it to:
Now, run Quake and use the map console command to switch to that level. For instance if the level was called SM36.BSP, type