The CMS Anonymous role is a special role which represents the access available to unauthenticated front-end users. This role only applies to users which have not logged into the backend, and can not be assigned to a user.
The primary purpose of the CMS Anonymous role is to specify which assets, pieces of content, and categories will display on the front end, to a web site user who has not logged in. In fact, even if an asset or piece of content are published, unless they have been assigned the “CMS Anonymous” role they will not display on the front-end website.
It is highly recommended to grant the CMS Anonymous role “View” permission for all new Content Types and Folders. Since most assets and pieces of content will need to display on the front-end, this will save time by only requiring you to manually remove permissions for the few items which should not be displayed on the front-end.
In addition, you must grant the CMS Anonymous role “View” permissions for any files which are included while displaying any page or widget on the front end (such as .vtl and .css files). Any content which is not visible to the CMS Anonymous user will not be displayed, so if you include files without granting CMS Anonymous “View” permissions to those files, the contents of those files will not be included, and your content will not display as expected.