What’s the difference between entering return, option (⌥) + return and ctrl + return in TextEdit

formattingtext-editortext;textedit

I don't seen anything different like below picture.

Viewing two example files in TextEdit there is indeed no difference:

On the left side Rich Text and on the right side Simple Text Keyboard Layout: de-de

Viewing the same files with TextWrangler ("showing invisibles" enabled) the differences are revealed:

Viewing only the text file with TextWrangler ("hiding invisibles" enabled):

the same file in HexFiend:

Return and OptionReturn insert 0x0A (New Line) and ControlReturn inserts 0xE2 0x80 0xA8 (Code Point Value: 2028, Unicode Name: Line Separator)

The difference is visible here:

Inserting a lot of qs the whole second sequence of abcdefghijklmnop in the third line breaks to a "new line", while the same sequence in the second line continuously flows to a "new line".