Funny - I was asked this question privately a few hours ago
This is what I determined...
With CI3, if you have defined your default controller to be "whatever", then the router will look for that controller inside any URI which is in fact a sub-sub-sub...directory inside application/controllers.
/my/wonderful/web/stuff would be resolved by application/controllers/my/wonderful/web/stuff/Whatever->index() using the above.
It could also be resolved by application/controllers/my/wonderful/Web->stuff().
Or it could be resolved by application/controllers/my/Wonderful->web('stuff')
Or by application/controllers/My->wonderful('web','stuff')
Oh my! Can this be right? AM I stuck in a loop? Dig into the code and check it out!
ps A matching custom route, in config/routes.php, would override the above.