SPs at a time were a good idea, because on older hardware you could save some significant time by precompiling the SQL statements. However they have lost much of their value along the way. They are still a good idea.
They allow developers to test result sets independently of the application.
If I had a nickel for everytime an I.S. person breathed a sigh of relief when I told him/her that an application change meant nothing more than a stored proc change, I'd be pretty rich.
Kevin