User-defined functions in MATLAB allow users to create reusable code that can accept inputs and produce outputs. Functions are defined with specific syntax and can include multiple input and output arguments, with local variables that are only accessible within the function. Proper naming conventions and organization of function files are essential for clarity and effectiveness.