Functions allow code to be reused by grouping a series of statements together to perform a specific task. A function definition specifies the data types of parameters and return values, and the function body contains the statements. Functions are called by their name followed by parentheses, and actual arguments are passed inside the parentheses. Parameters act as variables that represent the arguments passed into the function.