1. When fixed custom fields win

Use a stable field group when the content model is known and repeated: team member bio, product spec sheet, location page. Validation is simple, multilingual sync is easier, and the theme template stays boring—in a good way. If marketing rarely asks to “swap section order,” you probably do not need flexibility at the section level.

2. When flexible content wins

Choose flexible layouts when campaign and landing pages need different stacks weekly but you still want guardrails—no raw HTML soup. Each layout maps to a template partial; editors pick from an allowed menu of sections. Tools such as ACF Flexible Content or Flex Fields exist to model that pattern.

3. Repeaters: the middle ground

If you only need a list of similar items (testimonials, FAQs inside one section), a repeater field inside an otherwise fixed group is lighter than full flexible content. Reserve flex for heterogeneous sections at the page level.

4. Theme and performance reality

Flexible trees generate more meta rows and more PHP branching in the loop. That is fine at scale if you cache fragments or keep layouts disciplined. Fixed fields are cheaper to query and mentally cheaper for junior developers—but they fight you when every request is “just this once, can we add a new block at the top?”

5. Blocks as the third path

If the team lives in the block editor and you can commit to patterns and locked templates, blocks may replace both classic meta approaches for some sites. Hybrid stacks are normal: blocks for article bodies, meta or flex for product-like data that must stay structured for APIs and feeds.

6. Decision shortcut

Ask: “Will the order and type of sections change often per page?” If no → fixed fields (+ repeaters where needed). If yes → flexible content (or blocks, if that is your platform bet). If you are unsure, prototype the next three real campaigns on paper— the pattern usually emerges before you wire the CMS.

Custom fields vs flexible content is a product decision disguised as a technical one. Match the schema to how the business actually publishes, then invest in theme partials and documentation so editors feel the choice was intentional.