Query parameters from $_GET vs. using the Drupal menu path
There's a page with a logic that puts it together and that is determined by path. Core never bypasses the menu router. Parameters are somewhat orthogonal to this. For example, a page doesn't change in itself just because there's a form in it that uses a destination to redirect to said page so we do not add it to the clean URL. Pager is a little different because you could argue that path/to/some/view could become path/to/some/view/1 path/to/some/view/2 as it is paged but how do you differentiate real arguments (like a node id) from a pager? It's better to use a query parameter.