Functions allow programmers to organize code into reusable blocks to perform related actions. There are three types of functions: built-in functions, modules, and user-defined functions. Built-in functions like int(), float(), str(), and abs() are predefined to perform common tasks. Modules like the math module provide additional mathematical functions like ceil(), floor(), pow(), sqrt(), and trigonometric functions. User-defined functions are created by programmers to customize functionality.