Why are Only Some Materials Magnetic

Magnetic fields are generated by moving charges or spinning charges.Each electron as it orbits an atom, also spins on it own axis like a little spinning top. Because of this electrons have a magnetic moment, like a bar magnet. Generally all the electrons bound to atoms will be paired off, so that every electron spinning up will be paired with an electron spinning down. Because of this, the material is not magnetic. In some metals - nickel, and cobalt - each atom has one or more un-paired electrons. The magnetic fields of these electrons aren’t cancelled out by another, oppositely-oriented, electron. As such they lend an overall magnetic field to the atom they inhabit. These metals can attract magnets, or be magnetised themselves by aligning the spins of the unpaired electrons so they are all in the same direction. These material attract magnets.
Metals also have free electrons. If a metal is exposed to a magnetic field, these free electrons will experience a force and start to move. Eddy currents will be generated. The direction of the induced current obeys Lenz's Law - it is such as to oppose the change causing it. This effect opposes to moving of magnets towards the metal.