SQL procedures and functions allow reusable groups of SQL statements to be created and executed. Procedures can contain multiple statements and take parameters, while functions return a single value. Both can be created, altered, and deleted using SQL commands like CREATE, ALTER, and DROP. Functions are preferable to procedures because they are more organized, allow return values, and avoid using temporary tables.