1. Modules allow the user to organize Python code into reusable files called modules and then import and use functionalities from those modules in other Python scripts and files.
2. Core Python modules like math, random, datetime etc. are bundled with the Python interpreter while third party modules need to be installed separately.
3. Packages are a way to group related modules together and avoid naming collisions, they create a hierarchical namespace and allow modules to be logically organized.