If magnetic field cannot change velocity, what changes the velocity of a compass needle? I am really confused after reading the properties of magnetic field. I thought magnets could speed up things when they attract them.
 A: A very understandable confusion.
When a charged particle travels in a magnetic field, it experiences a force perpendicular to its velocity. This force will change the direction but not the magnitude of the velocity - in fact an electron will travel in a circle in a uniform magnetic field (ignoring energy it loses from radiation).
However, if you have a wire with electric current in it, we know it experiences a force (perpendicular to the magnetic field) that can move the wire!
Looking closely at the wire we see electrons moving as the current flows. These electrons are displaced by the magnetic force, but when they are displaced, they feel a restoring force from the positive charges that were not moving (and that did not get displaced). So the net effect is that the electron shifts sideways, and it then pulls the rest of the wire with it.
The same thing happens when you have a magnet and a piece of iron. The iron is magnetized - meaning that at the atomic level the electron orbitals align their angular momentum - as tough you get little loops of current. The displacement of these loops of current by the magnetic field results in a pull on the rest of the block and a net force. This force is acting on the whole block and allows it to accelerate.
