I can think of several good reasons for stored procedures:
- When working with bigger tables, it can be hard to generate an efficient query using LINQ to SQL.
- A DBA can analyze and troubleshout stored procedures. But think of what happens when two complicated LINQ operations from different front-ends clash.
- Stored procedures can enforce data integrity. Deny write access on tables, and allow changes only through stored procedure.
- Updating stored procedures is as easy as running ALTER PROCEDURE on a server. If a deployment takes months, and a script minutes, you'll be more flexible with stored procedures.
For a small application that's maintained by one person, stored procedures are probably overkill.