It follows a slightly circular motion about the geographic North Pole of the Earth. About every 50-100,000 years the earth decides to pull a magnetic pole reversal and puts the Magnetic North Pole in the Southern Hemisphere. This has been observed in the alternating reversed bands of orientation of Feromagnetic minerals along the Atlantic Plate. These Iron bearing minerals freeze in crystalized forms and mark the magnetice reversals of the pole over time.
One suggested explantion for the Magnetic North Pole is that it is the positive end of a huge electromagnet generated by the possible rotation of the earth's metalic core, similar to that of a giant Dynamo.
Whatever the reason, one thing is certain The compass points to Magnetic North and not to the Geographic (Grid North), or True North (the North Star, Polaris) And the three north poles do not always line up correctly either. As a matter of fact, the three poles seldom all line up. Navigators have known this for a long time, probably even before the time of Columbus because navigators would have noticed the differences when sailing from Europe, around the horn of Africa and on to Asia. The difference of course for Columbus, was that he was out of sight of land, something old-time sailors preferred not to be.