To put it very simply, a magnetic field is produced when charged particles move. This is why we can make electromagnets: the moving electrons generate a magnetic field.
So what makes magnet... magnetic even without current? Well, the electrons in the material are moving in the atom, and that generates a magnetic field. Furthermore, electrons have an intrinsic magnetic moment which we call spin. These effects contribute to the magnetic field generated by an atom.
But if you notice all materials contain these moving electrons, but not all are magnetic. The reason why this is the case is more complicated than what I am presenting, but it is a helpful picture to have in mind.
In atoms, electrons fill the atomic orbitals in opposite pairs, so in some cases the intrinsic magnetic moment from spins cancel out. Further, the movement of electrons are described by their angular momentum, which in some cases cancel out due to how the orbitals are filled (see Hund's rule).
The description thus far is based on atoms, but in solids these atoms have neighbours, and these play a role in the amount of angular momentum that contributes to magnetic field. The contribution from electron movement (angular momentum) can quenched due to the non radial potential of electric field, and thus diminishes magnetic property. I would add that the atom description works well for well for solid rare earth metals (lanthanides), as the 4f shells (which have unpaired electrons) are shielded from effects from neighboring atoms by their 5s & 5p shells, so the 4f electrons experience a radial electric field.
But all these effects are not able to describe the iron or steel permanent magnets we know. What happens in permanent magnets (made of ferromagnetic materials) is quite special: ferromagnetic material have domains, which are regions where all the atoms have magnetic moment pointing in a particular direction. In a unmagnetised iron for example, these domains are randomly oriented, so the effects cancel out and it does not have magnetic property. But if you put it in a magnetic field, these domains align up, and thus contributes to the applied magnetic field, making the field stronger. If you stroke it with a permanent magnet, you can make these domains point more or less in the same direction, and the material becomes a permanent magnet.