So far, we focused on the differences between tiled and untiled, but you also have some differences coming from the source property.
So, how can we define a source? What is its purpose?
Sources in OpenLayers 3 language define how and where you can access the layer. You always need a source from an ol.source subclass in order to retrieve and display layers.
Why did OpenLayers 3 development team invent this concept?
It was mainly for the organization of the code and reusability of the same principles. You gain modularity because you have only three types of layers but more sources. It enables you to decouple the type of layer you are using from the data source and the way you call it. It's simpler to manage a new source than to create a new layer by example if a new source appears.
You can see in the following diagram that ol.source.Source has three main child subclasses, ol.source.Vector, ol.source.TileSource, and ol.source.ImageSource.
They are abstract classes. It means, they work as a skeleton for all types of sources but are never directly used:

Most of the layers we are manipulating are inherited from the past.
Web-based maps are commonplace today. The catalyst for the explosive growth of web maps was the introduction of Google Maps. Web maps existed before, but they were not quick or developer friendly. In June 2005, Google released an API for Google Maps, which provided a frontend client (the role OpenLayers plays), along with an access to the backend map server via their frontend client API.
This allowed anyone to insert not just a Google Map on their site, but also allowed them to add in their own point data and manipulate the map in other ways. Google Maps grew in popularity, and other companies such as Microsoft, Yahoo, MapQuest, MapBox, Nokia, and others followed in their footsteps, creating their own web mapping APIs.
Most of them are more likely to make mashups.
The term mashup refers to an application that combines various different data sources and functionality together. A map mashup is a map that combines different layers and data. Third-party mapping APIs, such as MapQuest and Microsoft Bing Maps, allow people to more easily create these map mashups. For example, a map with an OpenStreetMap base layer overlaid with markers that track places you've traveled to can be considered a map mashup.
OpenLayers did not introduce map mashups, but it allows us to create very powerful ones with ease. Combining an OpenStreetMap layer, a WMS layer, and a vector layer is pretty simple with OpenLayers.
OpenLayers 2 had some third-party mapping APIs embedded into its core, enabling you to use its maps inside your Openlayers-based application. Nowadays, for better decoupling of OpenLayers API from third-party APIs, the OpenLayers 3 team choose to have no support for other mapping APIs that tie together tiles and an associated JavaScript API library.
Why this decision?
One of the main goals of OpenLayers 3 was to rewrite OpenLayers 2, making its API cleaner. The support for Google Maps API in OpenLayers 2 has also put a significant maintenance burden on both library and application developers, to keep up with changes of the Google Maps API. To avoid this in OpenLayers 3, the support for Google Maps using Google Maps API is nonexistent. However, Google does provide its tiles independent from their API, but only to paying customers. Fortunately, you have more alternatives to Google Maps API. We will try to show you that Bing (Microsoft) Maps (with its tiles service) or OpenStreetMap and its derived map images' data services API such as MapQuest can fill the missing provider.
Now, it's time to review all the tiled layers, in particular, to use beautiful background layers for your maps.