advanced custom fields
The Advanced Custom Fields plugin allows you to add custom fields and field groups to post edit pages. There is a feature rich free version and a Pro version that adds more capabilities.

Advanced Custom Fields Pro

Advanced Custom Fields (ACF) is a good example of a plugin that focuses on one thing and does it well.  For a long time ACF was one of the few main go-to solutions for creating sites with dynamic content.  When using ACF, you create field groups, add fields to them, and then assign them to the edit screens for the post type, or CPT that they will be used with.  The UI is well crafted and the plugin is very solid. ACF Pro comes with more than 30 field types, including relationship, repeater, and flexible content fields.  ACF is very widely used that there many third-party extensions. I have the notion that they invented the repeating field, but maybe they just brought it into the mainstream.ACF does not have the ability to create CPTs itself, so it is often coupled with the Custom Post Type UI plugin or the output from a CPT code generator to create the actual CPT.Classically, developers used ACF for creating bespoke themes for small businesses, restaurants, and so on.  These ACF solutions involved custom coding the theme single and archive template files, and the plugin comes with helper functions to make that easier.  These days, you can use some template building tools, such as those listed here, for creating the single and archive layouts.ACF has a feature rich and very popular free version and a Pro version that adds repeater fields, the ability to create ACF Blocks using PHP, the Flexible Content Field, and the ability to use ACF fields on admin options pages.I have a walk-through and video for creating Custom Post Types using CPT-UI and Advanced Custom Fields.

Pros: ACF Pro is regularly updated and is GPL. It has good documentation and support, and there are lots of online resources. ACF is the most widely used tool for adding custom fields with more than 1 million active installs of the free version. All of the template builders mentioned here support it.You can use ACF to extend built in WordPress post types, Custom Post Types, and even taxonomies.
Cons: ACF does not have the ability to create CPTs, nor does it have any templating features, conditional logic, etc for front-end display. You will need to do some custom programming or use an additional tool to create the CPT and another one for generating the output for the front-end.
Additional Information: These days people want more flexibility and speed than you get with hand-coded PHP template files and all of the solutions mentioned here for creating templates support ACF. So, ACF has a lot going for it. There is nothing in ACF that limits it to one level of solution, the limitation largely being a function of what you pair it with.ACF has been sold twice in the last year or so, first to Delicious Brains and then to WP Engine. While there is indication that development and support with suffer, people are keeping their eyes open.