FlexPages can be used to create pages on your site without a developer. There is one editing interface that is used for any page, and no special code is necessary for your new page or content edits to be published.

FlexPages are a little bit more limited than a drag-and-drop page builder product. FlexPages use a discrete set of content and design components that accept specific data and are implemented explicitly on the website.
The components are flexible to use, but with specific structure and design to guarantee accessibility, functionality, and responsive design.
These components are used to organize the overall page structure and non-content visual effects.
Heroes and Sections can contain content, these are the components that can be used in content areas.
There are HTML components available under the page body and section contents for when an escape hatch is really needed. There have been situations where we've written entire pages in HTML components. Less drastically, its useful for an embedded item like a video.

The FlexPage component system is indented to provide all the building blocks you need to publish content pages on your site, but it might be missing something! If you have a new component, config option, or design variant you think would enhance the system, contact your friendly neighborhood CMS developer!