ストアドプロシージャはデータベースサーバー内に保存され、クライアントから呼び出して実行される再利用可能なプログラム。SQLと手続き型言語を組み合わせ、複雑なデータ処理をサーバー側で実行します。パフォーマンス向上とセキュリティが利点です。
プロシージャは広義には順序立てた処理手順全般を指します。狭義ではプログラミング言語内で定義される関数やサブルーチン。入出力と処理ロジックを持つ再利用可能なコード単位で、どのプログラムからも呼び出せます。
ストアドプロシージャはデータベース専用で、DB内に格納され、SQLとの統合が深く、複雑なデータ操作に向きます。プロシージャはアプリケーション全般で使われる汎用的な概念で、言語を問わず関数やメソッドを指します。DB処理か一般処理かが大きな違いです。
データベース内で複雑な処理を繰り返すならストアドプロシージャ。アプリケーション言語内で再利用可能なコードが必要ならプロシージャを選択。DB依存か言語依存かで判断します。