For my mbuna/haps/peacocks I shoot for 50% on average every 3 weeks. Doing 20% every week for 3 weeks is close to the same result.
For more sensitive fish, I change less volume, but do so more frequently. My tropheus I shoot for 40-50% every 2 weeks. Tangs I tend to do 30-35% every 2 weeks.
The reason for water changes is to dilute nitrate concentration. Some fish can handle a higher level before showing issues, while others can't. Those that can are often more sensitive to other water parameters as well, which is why I do lower percentage changes.