В данном вопросе множество вопросов фактически, про это можно долго говорить, тем более на часть из них до конца наука не ответила..
По реакции вещества на магнитное поле эти вещества подразделяются на ферромагнетики, диамагнетики и парамагнетики (есть ещё антиферромагнетики)..
В частности ферромагнетики имеют собственный ненулевой магнитный момент (попросту говоря имеют в себе магнитное поле) из-за строения оболочек своих атомов.. Вообще электрон, по простому говоря вращаясь по орбите создаёт своё магнитное поле, при определённом строении оболочек магнитный момент от многих атомов складывается (суммируются магнитные поля электронов внешних оболочек многих атомов)..
Происходит взаимная ориентация в пространстве магнитных полей, но она действует без внешнего приложения магнитных полей только на малое расстояние, так образуется микрообласть самопроизвольного намагничивания (магнитный домен)..
В пределах куска ферромагнетика домены расположены хаотично и суммарное магнитное поле этого куска равно нулю..
Если приложить внешнее магнитное поле в одном направлении, то домены, имеющие намагниченность вдоль этого направления - растут, другие уменьшаются.. При определённом значении внешнего поля остаётся фактически один домен вдоль внешнего поля, дальнейшее увеличение внешнего поля не увеличит суммарное поле - это будет насыщение..
Если снять внешнее поле, то внутренне поле одних ферромагнетиков станет тоже почти равной тоже нулю - это магнитомягкие ферромагнетики, у тех, что будет остаточное поле - твёрдые ферромагнетики..
При перемагничивании нужно затратить энергию, зависящую от площади кривой намагничивания и в частности от т.н. "коэрциативной силе"..
Объяснение наличия магнитного поля у Земли - это только теории..
Самая известная связывает наличие поля Земли с железным ядром..
Перемещение магнитных полюсов связывают с тем, что это ядро жидкое и меняет свою ориентацию, хотя если ферромагнетик имеет температуру выше точки Кюри, он перестаёт быть ферромагнетиком:(