Sometimes a user's browser doesn't see where the user came from to your page. In such a case the pageview is assigned to "Direct traffic" source (sometimes also seen as "Dark traffic" source).
Here are a few reasons why it may happen:
Mobile applications. Some smartphone apps are unable to pass information to a user's browser. Here are a few examples - suggestions applications as Google Now, messengers, advertisement blocks, mail applications, notifications, etc.
Desktop applications. Such as mail clients, standalone messengers or social apps, PDF or other file readers also are unable to pass information to browsers.
Favorites or bookmark links. There is no source information when a user opens a link from favorites or bookmarks bar in a browser.
Direct input. Also, there is no source information when a user types, or copy-paste a link directly to the browser address bar.
Insecure http:// protocol. When a user opens insecure http:// link to your page from secured (https://) website information about the source is not transferred.
Browser. Also, it happens when a user uses an outdated browser or a browser with limited capabilities.
VPN or Firewall protection may prevent a browser from tracking sources information.
“no-referrers” feature. Also, a user can use “no-referrers” feature in the browser as it disables the ability to pass source information.
You may also want to know more about: