Yes, systemd-networkd is very capable (if arcane and unfriendly at times) for static configuration persistence. NetworkManager is more geared toward and indeed seems better for systems that are using lots of runtime dynamic configuration (DHCP, 802.1x, etc.) and also provides better desktop environment integration.
Agree to disagree here. The ability to control DHCP and 802.1x in systemd-networkd is far more mature and capable than NetworkManager. The one and only place where network manager shines is if you are traversing many different wireless networks with different but basic configurations and limited IPv6 concerns. (It’s great for a normal laptop user who can manage it entirely within the GUI). I would never use it on anything doing any sort of routing or bridging. Not even like a mobile hotspot.
I mostly use systemd-networkd on my generic-Linux-distro-as-a-router and adjacent (local DHCP/DNS, for example) systems.
I’ve decided that it’s the best Swiss Army knife for my needs and rather than try to stay up on the idiosyncrasies of multiple packages, I try to just use it wherever I can. YMMV. Owen