I'm going to chime in here, against my better judgement
There is nothing wrong with "why not both" - provide an escape hatch for the power users, but make the simple things simple, and obvious, and one click.
The Apex "language" is a bit esoteric - you can program interesting trees of behavior, but you're creating a cascade state machine with virtual outlets. But those aren't unlimited. The "neat" part is you can see the state of the logic tree by simply glancing at the dashboard (except for defer statements, or the like). However, you need to organize that view yourself, since nothing will draw the relationship graph for you.
The problem with the Apex is the user interface and paradigm was last refreshed by someone that had heard of PLC programming once over the telephone and really didn't know how to approach the problem of common interactions, so the "nice" parts are buried under a weird task UI which is behind a weird icon button which features often multiple possibly conflicting options on how to accomplish a task. Its somewhat the worst of both worlds - cascade programming like a bad form of relay ladder programming with a bad attempt at glossing over the ugly parts.
Contrast that with a visual programming system like Node Red which can do a lot of different actions cleanly. Easy to see data flow. More general programming support. Its a big lift for the "I just want my controller to turn on and off a heater" crowd, and it shouldn't be the _default_ interface.
I've never tried to drive a Hydros so I have no idea what it looks like.