Difference between magnetic dipole interactions and spin interactions $\def\b#1{{\mathbf #1}}$
Referring to the following formulae from wiki, it seems like dipole-dipole interactions can be qualitatively described using the formula:
$$H = -\frac{\mu_0}{4\pi|\b{r}|^3}\big(3(\b{m}_1\cdot \hat{\b{r}})(\b{m}_2\cdot\hat{\b{r}})-\b{m}_1\cdot\b{m}_2\big) + \mu_0 \frac{2}{3}\b{m}_1\cdot \b{m}_2 \delta(\b{r})$$
I am confused as to the role of spins in this picture. Let us take a simple example of two atoms with well-defined magnetic ordering, like Iron. If I wanted to calculate the dipole-dipole interactions between two iron atoms separated a distance, should I use the above equation? In this case, will spins play a role, since the atoms are ferromagnetic?
 A: The origin of magnetism is an complex problem in solid physics, (may be the the most lasting discussion in condensed matter physics).  My point is:
if caring about  interaction of spin in system, we need to be very careful and  dipole-dipole interactions sometimes are not the leading term. I will list four kinds magnetic origin which may help you.
dipole-dipole interactions
The dipole-dipole interactions can be seemed as the classical prat of magnet since it treated the magnet as dipole like in  electrodynamics, i.e. treat spin as circulating current. Even though spin cannot understood as classical picture, such interaction actually still exists.
But why we always neglect dipole-dipole interactions, especially when we considered two atoms as you said in question. Because compared with the following interaction, the  strength of this term  relatively small. We can estimate the energy of this term via your listed equation in the question, which gives the
$$E\sim 10^{-4} eV \sim 1K$$
we can find this interaction actually very weak, thus we seldom focus on this term when we discuss magnetism of two spin.
To avoid misunderstanding, we still need to know this term sometimes is also important, e.g. extremely low temperature, and the formation of domain wall.
Then, I will list some other magnetic origins and gives the reference.
reference:

*

*Ch.19, Steven H. Simon, The Oxford Solid State Basics
Direct exchange
$$H=\sum_{ij} J_{ij} S_i S_j$$
This term comes from antisymmetry of fermion , i.e. if two spins parallel, their wave functions are antisymmetry, which lower Coulomb energy. The energy scale $J_{ij}$ is called exchange integral, which equals the overlap of two wavefunction. As the result, you can find that this term is sensitive to the distance of neighbouring atoms. When two spin in the same sites but different orbitals, this term is also called "Hund's rule".
There exists a simple picture to understand it (this picture may not contribute to this interaction totally). After mean field approximation, above equation can be reduced as:
$$H=\sum_i B_i^{eff} S_j$$
where  $B_i^{eff}=\sum_j J_{ij}\langle S_j\rangle$ actually plays the role of effective magnetic field on each spin, effectively splinting the double degeneracy of band structure and push one branch of band away from Fermi surface. Since we just care about the low-energy behavior, the reduced Hilbert space only contains the states near Fermi surface (i.e. grey part in the following figure), which means only spin-up states needs to be considered. 
reference:

*

*CH.19, Steven H. Simon, The Oxford Solid State Basics
Super-exchange interaction
$$H=\sum_{ij} J_{ij} S_i S_j$$
Although the expression is the same as direct exchange, the physics is totally different. This term origins from the virtual hopping of electrons, which mostly exist in strong correlated systems, e.g. Mott insulator. Also, whether this term gives ferromagnetism or  anti-ferromagnetism depends on the angle of two orbital according to Goodenough theorem. Sometimes such term is called "local" picture as all the spin is localized in its site.
reference:

*

*Ch.2,3 Auerbach, Interacting Electrons and quantum magnetism
Double-exchange interaction/RKKY interaction
I listed two together since they all behave as two components physics from different orbitals: itinerant electrons interact with local moments, resulting in nontrivial magnetism.
Actually these two interactions are more complex, if you are interested in it, you can learn about Manganiate/heavy fermion system.
A: For systems such as atoms and molecules the total magnetic dipole $\bf m$ of the atom is represented, in quantum physics, by an operator, and this operator is proportional to the operator for the total internal angular momentum $\bf J$:
$$
\hat{\bf m} = - g \mu_B {\hat{\bf J}}
$$
where $\mu_B = e \hbar/2m_e$ is the Bohr magneton and $g$ is the Land'e g-factor (or gyromagnetic ratio) which is a dimensionless constant whose value depends on the atom and its state. Values of order 1 or 2 are typical.
Well that treatment is probably adequate for your purposes. An issue has been blurred in the above equation. In a full treatment one should take
$$
\hat{\bf m} = - g_l \mu_B \hat{\bf L}
- g_s \mu_B \hat{\bf S}
$$
for an atom in a state where the total spin $\bf S$ and total orbital angular momentum $\bf L$ are constants of the motion. But when one considers matrix elements and expectation values it often happens that the first somewhat incorrect version using $\hat{\bf J}$ reproduces correctly the predictions of this second more complete expression.
A: That Hamiltonian is giving you the interactions between two magnetic dipoles $\mathbf{m}_1$ and $\mathbf{m}_2$.
It does not make any assumptions as to what is causing the presence of a magnetic dipole moment $\mathbf{m}$.
If this is due to the orbital angular momentum $\mathbf{L}$ of the electron, then it is given by:
$$ \mathbf{m} = g\frac{e}{2m}\mathbf{L},$$
where the g-factor is $1$ in this case.
If this is due to the spin angular momentum $\mathbf{S}$ of the electron, then it is given by:
$$ \mathbf{m} = g_s\frac{-e}{2m}\mathbf{S},$$
where the g-factor is $\approx 2$ for an electron. This formula is valid for spin-$1/2$ particles.
You can extend these to multiple electrons by considering appropriate expressions for total orbital/spin angular momentum.
You can then write down the interaction hamiltonian due to either interaction (spin-spin or orbital-orbital). Or both.
Also, the spin and orbital angular momentum of the same atom interact among themselves, giving you the fine structure splittings of energy levels.
A: Your equation is already in terms of the spin. The magnetic moment of each atom is just the gyromagnetic ratio times the spin. You can use the equation just as it is.
