What is the difference between 走路, 行走, and 步行? Are these words perfectly synonymous, or are there rules to distinguish them? Google Ngram shows that they're all used with about the same frequency.

I don't like it when several different words have the same meaning because I'm forced to learn each of them if I don't wanna look stupid when someone uses the one I don't know.
走路, 行走, and 步行 all mean 'walk'

走路 emphasizes the 'traveling a distance on foot' aspect. e.g. 走路去要十分鐘 (traveling on foot need 10 minutes)

行走 emphasizes the 'moving' aspect. e.g. 御前待衞可以在禁宮行走 (Royal guards could walk (move) around within the Forbidden City); 電動車充一次電祇能行走五十公里 (Electric vehicles can only run for (move) 50 kilometers on one charge)

步行 emphasizes 'the act of walking (use of legs/ by foot)' aspect. e.g. 病臥床上，不能步行 (sick on bed, can no longer walk)


If you walk a distance to a destination, you should use 走路 or 步行
If you are walking (moving around) in an area, you should use 行走
If you are doing the action of walking (a few steps attempt or a few miles travel) you should use 步行


More examples:

走路上京 (go to the capital on foot)

行走江湖 (traveling around the country) 

步行健身 (walking for fitness)

You cannot say 行走上京，走路江湖， 步行江湖， 走路健身，行走健身

步行上京 (go to the capital by foot) is acceptable, but 上京 implies a long distance travel, it is better to use 走路 in this instance. Meanwhile 步行到街口 is better than 走路到街口