The earth acts as a giant magnet with the poles close to where
our axis of rotation is, but not quite there. It is believed
-- although not know for certain -- that the magnetic field of the earth
is caused by currents of charged particles deep in the core.

The magnetic poles wander a bit year to year. It is believed that
the magnetic poles have switched many times during the history of the earth.
This has been inferred by looking at the orientation of magnetic particles
in the rocks around the places where the sea floor is spreading.
As the lava comes up out of the cracks it cools and the iron in it maintains
the magnetic orientation of the earth's magnetic field at the time.
The rocks on the sea floor show stripes of magnetism with north and south
changing position. This won't be an issue in our lifetimes, as the
process is very slow: the magnetic poles last switched 730,000 years
ago.

The difference between Magnetic North and Geographic North is important
if you are using a compass to navigate. For us, the difference would
throw us off only 1.5 degrees, which is only significant if you are doing
precise orienteering.

In Alaska, the difference between Geographic North and Magnetic North
is a big deal! Local maps generally contain a note and graphic showing
the difference between MN and GN for the area of the map.

It is important to note that what people call the "Magnetic North
on the Earth" is really the South pole of the earth's magnet, since
the "North-seeking Pole" of a lodestone or small magnet (what we call "the
North Pole") is attracted to it (and un-like poles attract). You
could also think of the earth's Magnetic North pole as "The place on earth
to which the North Pole of magnets point." Think about this!
It may take you re-reading these sentences several times! It might
be helpful to go back to the description of the lodestone
compass.