In dotCMS there are two ways to store, manage and deliver files (images, css, video, pdfs, Office Docs, etc...), each with benefits and drawbacks.
Files can also be created as content types and as such extend the base type of "File" in dotCMS. Content Types that extend "File" act as "traditional" files in that they are visible in the web browser and can be accessed using traditional URLs, e.g. http://dotcms.com/images/corporate/logo.png.
dotCMS allows you to create custom content types that extend "File" that can contain specific properties, permissions and metadata that can be managed by users through the content editing interface. The benefits of Files are they can be used to provide file repositories that can be linked to and reused by other content objects, they are manageable via webdav and that when a file is uploaded as a File, dotCMS automatically parses the metadata of the binary file and stores it in a special searchable field. Files are also included in site search results (unless specified otherwise).
Files Embedded in Content
All content types in dotCMS can contain one or more fields to contain "Binary" files, which allows a user to upload files of any type. Files stored as a binary field are embedded in that content object, directly to the content and are NOT accessible via a traditional URL in the web browser - they need to be accessed through a specific URL pattern. The main benefit of files stored as "Binary" fields are that they allow content contributors to manage files as a part of the content object. This means that these these binary objects are versioned, permissioned and included in the workflow with the content object they are contained in, which can streamline the content contribution and management process. The downsides of storing files as binary fields are that they are not addressable via a human friendly URL, they cannot be managed via webDAV, their metadata is not indexed by the content index or site search engine and they are more difficult for other content objects to "reuse".