One has the option to mark a collection or a piece of content in a collection as public, marketing or private.
Public piece of content is always visible. Content is public by default.
Marketing content will only be visible to signed out or inactive users. If the user signs in and has access this will disappear. This can be good if you want to have free samples of content for potential users to browse.
Private content will only be visible if the user has access to that collection (in storefront) or piece of content (in timeline). This can be good if an app has different user tiers or accesses. A particular user will only see the content that they have access to. So premium users would not see the basic version of the collection and vice versa.
For these purposes, all users are entitled to all free items so if you set a free item to be private, it will always show.
Visibility can be set in the Bolt CMS by enabling the Pugpig - App Visibility plugin and selecting the appropriate value on the content edit page as shown.