SQL server has a concept of system and user databases. User databases are created for specific types of business process: HR, online shop, eHealth, and so on. It's up to the user (developers and DBAs) to define all the parameters. Here, you are in charge (more about it Chapter 4, Database in the Sandbox).
On the other hand, system databases are created during the installation procedure without almost any user influence. It is a repository of all SQL Server internals and it continues its process of updating its content, such as:
Configuration data
Users information
Database objects
Query execution statistics
Troubleshooting
Data statistics
And many more
SQL Server simply can't work without it. All this important information is stored in the following system databases:
master (system-wide settings and information about user databases)
tempdb (a place for any temporal database tasks)
model (the template for new user databases)
msdb (used by SQL Server Agent Service for tasks scheduling )
Those four databases are default and the user can't directly access their content. To do that we need to use system catalog and dynamic management views objects.