At DrupalCon 2015 the first session I attended, was one close to my heart. You can watch the session here.
The problem is trying to figure out how to give your content creators the functionality in a website to create the content they want to create and have a good website.
Normally the first solution is to use the “body” field, and turning on a WYSIWYG editor and let the content creator edit what they want. The problem is that the WYSIWYG editors are not the best to use, and HTML is not the easiest thing to create the desired output. So the content editors are frustrated trying to create what they want, and the output may look ugly and the HTML is pretty ugly as well. Many times you loose consistency and will loose any responsive or mobile designs. There is an example in the presentation where New York Times, Snow Fall article, which was great and compelling but cost $250,000 to produce. So the presenter wanted to figure out how to do this with the Drupal tools we have on a consistent basis. The developers figure it they can just structure the content with all the little bits and pieces we can assemble the desired output together. If we can just get all the bits and limit the HTML tags that can be entered or use markdown we can solve this problem, but there are some things missing that allow for the content creators creativity.
To solve this the first step is to define a vocabulary about the content. This will include the atomic elements of the structure (like a Call Out field) and must also have some usage characteristics, like that it will randomly be aligned within the article, it may contain a attribution and how it is to be formatted. Also that we want to vary the formatting a bit on a per article basis.
Now you can find a way to define the components you want and create a way to indicate the location of this element in the article. Then you can transform the content you save to the content you want to display.
I think this is a good definition of the problem we are trying to resolve.
Another option was mentioned Paragraphs which was covered later in the day. Better Tools for Content Creators
Paragraphs can be used to allow you to intersperse your content with other content. This is similar to the discussion above but it works best when your content is small blocks of content rather than long narrative text. This is similar to what Marquee does, in Marquee each paragraph is separate, you can insert things between paragraphs like images, callouts etc. If your content is small self contained blobs of content this technique works well. I think this would work well for landing pages.