Difference between waitForText and see

Hi!

Can someone explain what is the difference between:

I.waitForText('Thank you, form has been submitted');

vs

I.see('Thank you, form has been submitted');

Does I.see also retries to find the specified text until waitForTimeout is reached?