After invoking 'get-module -Listavailable ', we see multiple versions of the same module. For example, we have versions, 1.3.3, 1.3.2 & 1.3.1 'PowerShellCookbook' modules on our system. Is there any reason, one would like to remove these older versions?
It depends. Some other code could have a dependency on a specific version – the same reason your computer probably has multiple versions of .NET Framework and many other components. If you are certain that there are no version-specific dependencies, then yes, you can remove unneeded modules.