Structured programming divides a program into smaller modules for better understanding and easier error detection. It involves concepts like top-down design, code reusability, and functions, which are blocks of statements that perform specific tasks. Functions must be defined and can return only one value; variable scope determines where a variable is accessible within the program.