I do perform weekly water changes... two gal in my 10 gal tank.. Some times even twice a week
You do water changes for a number of reasons.
1) to reduce nutrients like ammonia, nitrite & nitrate.
2) to dilute disease organisms in the water.
3) to keep the pH, KH and GH stable.
4) to dilute nitric acid produced by fish food and waste breaking down.
5) to dilute stress chemicals (pheromones/ allomones) released by the fish.
6) to dilute un-used plant fertiliser so you don't overdose the fish when you add more.
7) to remove fish waste and other rotting organic matter.
Fish live in a soup of microscopic organisms including bacteria, fungus, viruses, protozoans, worms, flukes and various other things that make your skin crawl. Doing a big water change and gravel cleaning the substrate on a regular basis will dilute these organisms and reduce their numbers in the water, thus making it a safer and healthier environment for the fish.
Bigger water changes are generally better than small water changes.
If you do a 25% water change each week you leave behind 75% of the bad stuff in the water.
If you do a 50% water change each week you leave behind 50% of the bad stuff in the water.
If you do a 75% water change each week you leave behind 25% of the bad stuff in the water.
Fish live in their own waste. Their tank and filter is full of fish poop. The water they breath is filtered through fish poop. Cleaning filters, gravel and doing big regular water changes, removes a lot of this poop and harmful micro-organisms, and makes the environment cleaner and healthier for the fish.