Why has the North Pole moved?

The Earth are two North Poles: the geographic North Pole and the magnetic north pole. The geographic North Pole does not move.

The magnetic North Pole (this is the North Poles that allows a compass to work) does move. It moves (very slowly) due to changes in the Earth's magnetic field caused by the movement of liquid metal beneath the Earth's surface. (The Earth's magnetic North Pole is currently near the geographic South Pole, near Antarctica. Conversely, the Earth's magnetic South Pole is currently near the geographic North Pole.)