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