Well you only get one request factory. Thus there is only one point in your app where you can extend the request using this hook. The introduction of the request methods allows you to extend the request from any addon/plugin in your app and they can all interoperate on the same request object without plugins having to provide request mixins, etc, that you throw into a custom factory. Request methods also support conflict resolution. Thus, if multiple addons extend the request with the same method/property you will see an error or an override, as defined by Pyramid's include mechanism.