Prismic.io allows you to define a dynamic zone for richer page layouts.
For example in a blog post, defining a Slice zone allows the writer to choose between adding a text section, an image, or a quote. This gives the writer the freedom to compose the blog post by alternating and ordering as many of these choices as they want/need.
You can use Slices for defining dynamic layouts in any of your content types: blog posts, landing pages, case studies, tutorials, any place you want to give the content writers the choice between different template options.
You can find more details on how to configure slices here.