In order to get the files to your computer you will need to use something like Winzip. You can get this at www.winzip.com.
Running a ".bsp" file
Inside your main Quake directory locate the folder called id1. Inside this id1 directory, make a new directory and call it maps (that's maps plural).
Next, download a Quake level and unzip it. You will have unzipped at least 2 files from the zip file: A .bsp file, which is the actual Quake level file, and a .txt text file, containing information about the level and any specific set up information.  Place the .bsp file inside your newly created maps directory.
Next, start up Quake as normal and select your skill setting either at the start map or by pulling down the console (using the tilde key, which is immediately to the left of the 1 key on most keyboards) and typing skill 0 for easy, skill 1 for normal, skill 2 for hard, or skill 3 for nightmare. Then, again at the console, but on a new line, type map [name of map]. So, for example, if your .bsp file was called newlevel.bsp, you would type map newlevel. It is not necessary to add the .bsp file extension.
You can also run Quake from the dos prompt, by typing "quake +skill # +map newlevel, where # is the skill level (0-3) you want to play on.
Running a ".pak" file
Create a directory inside your main Quake directory and call it anything you like - it's best to give it a name similar or the same as the .zip file you downloaded, as it's easier to remember.
Let's say we have a zip file called newlevel.zip. We'd therefore create a directory structure like this: \quake\newlevel. Unzip the contents of newlevel.zip into the newlevel directory (note that the file inside the archive will not be called newlevel.pak. it will be called either pak0.pak or pak1.pak).
Next we have to launch Quake, but because we're adding new game information, we have to do it from the dos prompt. To launch the example file above, we would type quake -game newlevel. This tells Quake that there is new information, and that this new information can be found in the newlevel directory. The game will run normally and you select your skill level as usual. Please note: you may have to pull down the console to run the map(s) contained within the .pak file, depending on how the author has set the files up. It's therefore vital that you read the text file of every level you intend to play.
There are two kinds of files associated with Quake 2 levels. They are ".bsp" and ".pak" files.
Running a ".bsp" file
First , you must own a copy of Quake 2 Registered v3.20 or higher.  Check the files section at Planetquake to make sure you have the latest patch, if not download it!
Read the text file that comes with the level. Most of the time the author includes instructions on how to install the level. The author's will also usually include their e-mail address so you can always ask them if you have any real problems or just want to send them any feedback on the level. Put the Quake 2 level into the directory 'quake2\baseq2\maps' 
(ex: c:\quake2\baseq2\maps)
You may need to create the directory 'maps'. Then Unzip the file. This will create a .bsp file and a .txt file.
Start up Quake 2. When Quake 2 has finished loading, press the ~ key (the key next to the "1") to bring down the console.
At the console prompt type "map mapname" where "mapname" is the name of the level. Example: if the file name of the level is 'newmap.bsp', then you would type "map newmap " at the console prompt. Press Enter. This should start up the level and you will be on your way.  NOTE: DO NOT type "map newmap.bsp"
Running a ".pak" file
The first thing to do when you get a .pak file is READ THE AUTHORS INSTRUCTIONS in the text file accompanying the download. There are usually instructions on how to make it work for you. If after reading the text file, you are still confused or the instructions are vague, go ahead and try the following...
Create a directory under the Quake2 file. You can name it anything you want but for illustration purposes I have just downloaded 'usermap.zip' and will name the new directory "usermap". Unzip the file in your new directory. You should now see at least two files.
Pak0.pak 
usermap.txt 
To play the level you must do one of two things...
1.At a dos prompt in c:\Quake2 type in quake2 +game usermap +skill 1 +map usermap. To change the skill level just substitute +skill 1 with +skill 0 for easy or +skill 2 for hard.
2.If the above is too much to remember all the time you can make a usermap.bat file and put it in your Quake2 folder and just double click it when you want to play that particular level. Simply open Notepad and type in...quake2 +game usermap +skill 1 +map usermap
Save it as usermap.bat and put it in your Quake2 folder.
Good Luck!

 Instructions inspired by Matt S. and Paul T. with minor modifications.