The short answer: It depends.
The longer answer: Smaller, more frequent water changes, change more net water over time. They also keep your parameters more stable, since nutrients don't have as much chance to build up, so if you plotted, say, nitrates, on a graph, you wouldn't see huge peaks and valleys on the graph.
The answer to what is best for your particular tank (or anyone's), depends on many factors, but testing the water regularly (ie weekly) will tell you if you are changing enough water.
If your bio load is light, perhaps 10% per week will do. If it's heavy, maybe 20% per week might not be enough.
Unless there's an immediate crisis, I don't usually suggest doing more than 20% at a time. Changing too much at once will upset the ionic balance and can result in a diatom bloom or other imbalances that can become as problematic as whatever you were trying to correct.
So smaller amounts, more frequently tends to work out best in the long term - backed up by testing to make sure water quality is maintained.
Once nitrate gets ahead of you, it takes quite some work to get it back under control. The best cure is prevention.
Jenn