Riffing on a metaphor for declarative vs imperative from React's documentation;
Imagine you're asking someone to drive you somewhere.
Imperative is like giving a friend instructions on how to get there, describing each turn.
They won't surprise you, but they can never do better than the route you know.
It's easy to get confused or distracted and give them bad instructions.
Downside is capped, but so is upside.
Declarative is like giving a taxi driver a destination and leaving it to them on how to get there best.
If they're experts, they'll likely know ways that you don't!
But in declarative you're really leaning on the expertise of the driver.
Downside and upside are more open-ended.
In environments where expertise is important, and there is an established expert you can rely on, declarative can be a good idea.