Stored or Database Procedures allow the storing of compiled database access code into the database engine itself. There are a number of advantages to using stored procedures.
Compiled code will run faster. Any database access statements placed in application code may be compiled into the application but are not compiled into the database and will be interpreted by the database. Interpretation is the combination of compilation and execution.
Stored procedures are executed on the database server. Executing code on the database server has two benefits.
Network traffic is minimised. Network traffic, along with disk I/O are the biggest bottle-necks with respect to database access speed.
Stored procedures are centrallly stored and maintained. This will negate the need for application based database selection access code. This will reduce the amount of application code required substantially and will therefore reduce the number of potential errors produced. Also most programmers like to do their own thing so application code is generally inconsistent between different authors.
Stored procedures are designed, constructed and controlled by fewer people, ie. one or more database administrators. There is less room for error.