This article is from the Beginning Fishkeeping FAQ, by Thomas Narten with numerous contributions by others.
The more frequent the changes, the less water that needs to be
replaced. However, the longer between changes, the more stressful each
change potentially becomes, because a larger portion of the water gets
replaced. Replacing roughly 25% of your tank's water bi-weekly is a
good minimal starting point, but may not be enough. The proper
frequency really depends on such factors as the fish load in your
tank. Nonetheless, you should do water changes often enough so that
1. nitrate levels stay at or below 50ppm, and preferably MUCH lower
(less than 10ppm is a good optimal value);
2. the change in water chemistry resulting from a change is small. In
particular, the before and after pH of your tank shouldn't differ
by more than .2 units. (Use a test kit the first few times to get
a feel for what's right.) If your pH changes too much as a result
of a water change, perform changes more frequently, but replace
less water at each change.
Water changes remove nitrates after they've been produced. Nitrogenous
substances in the form of uneaten fish food, detritus, etc. can also
be removed BEFORE they get broken down into nitrate. This is achieved
by cleaning your mechanical and biological filter regularly, and by
vacuuming the gravel with a gravel cleaner. This should be done every
time you perform a water change, e.g., every two weeks.
Note: if your heater becomes partially exposed to air as the water
level drops while doing changes, be sure to unplug your heater while
doing your water changes. The heater can crack if the water level
drops below the heating coil!
Also, be sure to dechlorinate/dechloriminate the replacement water
before adding it to your tank! (See the WATER TREATMENT section.)
 
Continue to: