Это адреса в исполнимом файле (dll, exe(не всегда)) по которым находятся базозависимые адреса в командах переходов и обращений к памяти. Если файл загружен не по тому базовому адресу на который он рассчитан, то загрузчик пробегается по этим адресам и корректирует их.
вот пример: mov eax,offset xxx. После компиляции у тебя в коде будет такое: mov eax,401012 (ну это к примеру выбрано такое смещение). НО! Это при условии, что твой файл будет загружен по базе 400000. А если этот адрес будет занят и файл будет загружен по 500000 к примеру? Получается, что mov eax,401012 указывает уже на неправильный адрес. Т.е. ссылку надо будет подкорректировать. Вот релоки и содержат указатели на то, что нужно подкорреткировать
хотя достаточно того, что секция куда указывает команда окажется не на своем месте. (но такое чистый виндовый загрузчик обычно не творит, хотя там это предусмотрено)