What is the purpose of manual web routing? Why doesn't everyone just automatically map between URLs and module/method/function names?
I would argue that you can start with fully automatic mapping, and then you can just use Apache mod_rewrite or mod_redirect or whatever if you want to refactor in a way that would change URLs, without breaking existing URLs.
There are two main reasons for using manual routing, over automatic.
Manual routing allows you to use REST as it is meant to be used. This means that the same URL can access 4 different actions, distinguished by the HTTP method used (POST, GET, PUT, DELETE). With automatic routing, you would be exposing the method names of your underlying functions, therefore, you would have 4 different URLs.
Manual routing also allows you to produce more search-engine friendly URLs. This is usually achieved using the slugify method, but the manual routing allows you to ignore this extra information, and just concentrate on the ID part of the URL to correctly route you to the specific resource.
Another reason, which is purely cosmetic, is that the URLs just look better. Does that matter? Some may think so.