Для чего тут создается вспомогательный блок, чтобы отделить блоки (html)?
Почему нельзя было просто блоку с классом "block-portfolio" прописать в стилях "margin-top: 30px"?
По бему блок не может знать о своем положении. Оно задается через элемент родительского блока .page__block-portfolio в который автор обернет сам блок.
Чтобы не прописывать кучу отступов для каждого блока, и изменить их одним махом у одного селектора.