В контексте ELF это две разные связанные вещи.
Сегменты описаны в заголовке программы. Обычно каждый сегмент описывает часть файла, который будет загружен в память при запуске исполняемого файла.
Разделы описаны в заголовке раздела. В общих чертах, каждый раздел описывает кусок данных, относящихся к программе.
Таким образом, и разделы, и сегменты являются фрагментами файла, описанными как смещение и размер (хотя в обоих случаях размер может быть 0, в этом случае смещение игнорируется). Любой данный файл ELF может иметь только сегменты, или только разделы, или сегменты и разделы. Чтобы быть исполняемым, он должен иметь сегменты для загрузки. Чтобы быть связанными, он должен иметь разделы, описывающие, что и где. Таким образом, исполняемый файл, связанный с dynmaically, всегда будет иметь оба значения.
В общем случае сегменты не перекрывают друг друга, а разделы не перекрывают друг друга, но разделы могут описывать данные, являющиеся частью (или всеми) сегмента. Это не является строгим требованием к формату, но было бы странно нарушать. Также было бы очень странно для раздела описывать данные в двух разных сегментах. Есть также (как правило) разделы, которые не являются частью какого-либо сегмента.