The for loop in cursors are used to make less statements to write cursor.
if u are opening a cursor normally using the open cursor then
open cursor_name;
fetch cursor_name into variable loop
exit when cursor_name notfound ;
end loop;
close cursor
in the above statement u have to explicitly open and close the cursor and also write exit statement to end the cursor loop
if we write the same using for loop then compare the statements.
for varible in cursor_name loop
statements
end loop;
the above for loop does not need a open and close explicitly since those are involved in the for loop itself.
and also never require the loop to explicitly end using any condition since it ends the loop if there are no more rows in the memory.