Hola Ag666. Sabes tenes razon. Despues de que me dijiste eso me diste una idea y me puse a buscar por internet y encontre esto:
Seguridad: nos dan la posibilidad de no darles acceso directo a los usuarios a las tablas del sistema, sino que por medio de un Store (lo podriamos ver como un puente) dar acceso a ejecutarlo pero que el usuario no tenga acceso directos sobre las tablas, esto tiene enormes ventajas de seguridad ya que no es muy buena idea que un usuario se pueda conectar al servidor y poder hacer un select por ej sobre la tabla Customers y le muestre todos los campos o bien insertar valores como quiere.
Centralizacion del codigo: Los Stores estan dentro de la base de datos con lo cual el codigo esta centralizado, si lo tuvieramos en las aplicaciones ese codigo podria estar en mas de un lugar y seria mas complicado luego a la hora de hacer mantenimiento, por ej: agregar una columna: si manejamos Stores es muy simple poder ver cuales afectaban a la tabla modificada para poderlos tocar, de la otra manera hay que hacer un rastreo mucho mayor y mas complicado a la vez.
Performance: Depende del Store que hagamos (si hace un simple insert no veremos mucha diferencia) la performance es mayor que si ejecutamos las sentencias desde la aplicacion directamente, esto tiene una explicacion simple y es que los Stores quedan compilados y el motor de base de datos no debe calcular por cada ejecucion (a menos que se lo indiquemos) que vuelva a calcular los planes, esto hace que el proceso sea mas eficiente, si tenemos 100 usuarios que tienen codigo en su aplicacion y los tiran lo mismo hara 100 veces el mismo calculo el motor, pero si en luagar de tenerlo asi esta en un Store el quedara en cache y ademas compilado haciendo que la performance mejore.
http://msmvps.com/blogs/maxiaccotto/...rocedures.aspx