SYS_REFCURSOR can be used as a return type when you need to easily handle a list returned not from a table, but more specifically from a function:
function returning a cursor
CREATE OR REPLACE FUNCTION list_of (required_type_in IN VARCHAR2)
RETURN SYS_REFCURSOR
IS
v_ SYS_REFCURSOR;
BEGIN...