Modular programming involves dividing a program into smaller, manageable modules. The main module contains the program entry and exit points, while sub-modules perform specific tasks controlled by the main module. There are two types of procedures in modular programming - SUB procedures, which do not return values, and FUNCTION procedures, which return a single value. Parameters allow data to be passed into procedures to perform operations and return results. Modular programming offers benefits like reduced code, improved readability and maintainability, and ability to test modules independently.