A stored procedure is a subroutine available to applications that access a relational database. Extensive or complex SQL processing is moved into stored procedures to improve performance. Stored procedures offer advantages like improved security, reduced network traffic, and easier maintenance compared to embedding SQL statements in an application. They allow parameters to be passed in and support flow control structures like IF/THEN clauses.