Нет идеальных языков, каждый с недостатком.

Мне в ST не нравится возможность при вызове функционального блока не полностью перечислять параметры. Он, действительно, менее наглядный.
Но у него есть достоинства - естественное описание конечного автомата, легкость копирования и замены переменных (тегов) штатными средствами, компактность при распечатке.

FBD (и производный от него CFC) более нагляден для простых линейных алгоритмов, именно на FBD в проектах предлагают алгоритмы технологи, распечатками из проектов на FBD пользуются операторы при разборе неожиданного поведения системы.
Но при этом - занимает много места при распечатке, реализация циклических и ветвящихся алгоритмов возможна, но теряется наглядность, при необходимости многократного размножения участка кода требуется нетривиальные действия (в CoDeSys: экспорт элемента в текстовый файл xml, размножение объектов самодельным скриптом на python, импорт в CoDeSys).

Нельзя сказать, что один лучше другого. У каждого своя область применения.
Хороший пример этого тезиса - развитие Owen Logic: начинали с FBD, но добавили ST. И это несмотря на усложнение поддержки Owen Logic.

Осваивайте всё.