Код, составленный таким образом, довольно легко поддерживать. Вы сразу можете определить "опасные" и "безопасные" для правки части, а также понять, на что именно повлияют изменения. Изменяя форму для ввода данных банковской карты, расположенную в слое features, вы можете совершенно не переживать за непредвиденные эффекты в других features и, тем более, коде, расположенным в более низких слоях. Достаточно лишь будет проверить те несколько виджетов, где форма используется. Если утилита размещена в папке какого-то виджета, это значит, что она используется только для этого виджета и нигде более.
При работе с FSD я столкнулся с проблемой на уровне entities. Одна entity должна ссылаться на другую, но связей на одном уровне по FSD быть не дложно. Как вы решили эту проблему?
Сам сижу разбираюсь, но судя по всему либо копировать код из первой во вторую, чтобы обе они были независимы, либо на уровне виджетов прокидывать первую во вторую через пропсы
По возможности связь лучше поднять на уровень выше. Зависит от деталей связи.