Node:fwd-para with fill prefix, Next:fwd-para summary, Previous:fwd-para no fill prefix, Up:forward-paragraph
The inner if expression just discussed is the else-part of an enclosing
if expression which tests whether there is a fill prefix.  If
there is a fill prefix, the then-part of this if is evaluated. 
It looks like this:
(while (and (not (eobp))
            (not (looking-at paragraph-separate))
            (looking-at fill-prefix-regexp))
  (forward-line 1))
What this expression does is move point forward line by line so long as three conditions are true:
The last condition may be puzzling, until you remember that point was
moved to the beginning of the line early in the forward-paragraph
function.  This means that if the text has a fill prefix, the
looking-at function will see it.