According to this site
Magnetic North, Geomagnetic and Magnetic Poles
The Geomagnetic poles (dipole poles) are the intersections of the Earth's surface and the axis of a bar magnet hypothetically placed at the center the Earth by which we approximate the geomagnetic field. There is such a pole in each hemisphere, and the poles are called as "the geomagnetic north pole" and "the geomagnetic south pole", respectively. On the other hand, the magnetic poles are the points at which magnetic needles become vertical. There also are "the magnetic north pole" and "the magnetic south pole".
But why does the compass needle not point to the geomagnetic pole? I mean why aren't they both at the same location?
Best Answer
Earth's magnetic field isn't really a dipole, but a dynamic field due to the convection occurring in the planet's core (consists of molten iron). The model below shows a simulation of the magnetic field (blue is pointing towards the core while yellow points away), the cluster of curves in the middle is the planet's core.
The geomagnetic pole is the location of the pole if earth's magnetic field were a simple dipole (no convection-driven fields).
Note also that, in your image, the geomagnetic pole hasn't moved much in the last century while the magnetic pole has. This is because every several thousand years, the magnetic poles flip sides (a non-constant rate of reversal, so we can't really say a definitive time-frame).