The correct explanation for why a compass needle points North-South is:
D) the Earth has a magnetic field and the pointer is magnetic.
The compass needle is a small magnet that aligns itself with the Earth's magnetic field, which is why it points towards magnetic north.