Instead of receiving a result set as is, you can use cursors to specifically iterate through its rows.
Cursors are typically something to be avoided within SQL Server stored procedures if at all possible. If you can write a query without using cursors, you give the optimizer a much better chance to find a quick way to implement it. However, they may be more comfortable to use for programmers used to writing While Not RS.EOF Do...
Sincerely, aside from a few administrative activities like running through every index in the catalog and recreating it, I've never found a use case for a cursor that couldn't be avoided. They might be useful for mail merges or report generation, I suppose, but it's probably more effective to do cursor-like tasks in a database-connected program so the database engine can focus on its strongest suit: set manipulation.
I hope this helps you.