Логика в этом есть. С другой стороны - если условия неотображения начнут разрастаться - в коде будет каша. А если спихнуть все например в какой-то conditionalHeader, то все будет в одном месте. Так что есть доводы и за и против и каждый уже принимает решение на месте исходя из конкретной ситуации. Лично я, например, вынес бы условия отображения всех хидеров, футеров и прочего отдельным файлом, а в самих хидерах футерах делал бы проверку отображения по стору. Тогда и лэйаут чистый, и все условия отображения в одном месте. Что очень удобно при развитии приложения.