Sure, but you save all the work of marshalling the result set, putting it on the wire, transmitting it to the client, having the client reserve memory space to store it, and so on...
And then vice-versa - when transactions are sent back from the client to the server. None of that happens either.
With stored procedures, all of that happens within the server.