module.require and require are the same. The only difference is that module.require is a method, and require is a parameter :)
In practice, the presence of the module.require method means that if you have a link to a certain module (which is not easy by itself, because the module is also a local parameter), you can call require as if it is executed from this very different module.
The only module that is available out of the box is require.main , the main module (that is, the module that was launched). This allows you to do tricks like require.main.require('./config') , loading the config file not relative to the current module - but relative to the main one. Other modules, except the config, so it is better not to load, because each module should work no matter how and from where it was launched.
The PS function, whose parameters are module and require , can be found in the documentation. This is a wrapper function over modules , inside of which each module is implicitly placed before it starts executing.