Основное отличие с точки зрения дизайна заключается в том, что PluginOutlet — это точка вставки. Вы внедряете свой компонент непосредственно в базовый шаблон. Каждое изменение кастомизации фактически меняет структуру приложения.
BlockOutlet — это каркас макета. Вы регистрируете один или несколько компонентов с этим каркасом. Затем кастомизация происходит внутри этого каркаса, а не в шаблонах приложения. Таким образом, мы получаем более предсказуемые и стабильные макеты.
Ещё одно важное отличие заключается в том, что API Blocks может обрабатывать весь спектр логики условного рендеринга. Вам не нужно добавлять это в свой компонент. Компонент блока может сосредоточиться исключительно на контенте и шаблоне, и у нас гораздо меньше повторяющейся логики.