Can someone explain how Text Formats work with CKEditor profiles? Very confused
The text formats have to do with how the text is being processed as you can have functions that process icon labels, tokens, video snippets, etc. Sometimes you don't want certain roles to have access to these properties.

For example, I wouldn't want to give a normal user access to add certain HTML tags or YouTube video tags, but I would want to give that access to a content editor.

With CKEditor, you can then assign a CKEditor profile with a certain set of buttons to each text format. For example, I would give a CKEditor profile with a lot of buttons and functionality to an admin or content editor, so I would pair that with the Full HTML text format, but I want to slim down the CKEditor profile for a regular user, so I would pair that with the Basic HTML text format (if I created one).