Unlike electrons, photons don't have a magnetic moment despite having a spin. Why? DISCARD THE FIRST TWO PARAGRAPHS AND DIRECTLY READ THE LAST ONE.
Electrons are charged particles and have a magnetic moment proportional to their spin. So they can respond to electric and magnetic fields. In particular, they can be accelerated, deflected by magnetic fields.
Photons are electrically neutral but have spin angular momentum. But I am pretty sure that it does not have a magnetic moment and can't be deflected by magnetic fields. Isn't this kinda weird that for some elementary particles spin implies the existence of a magnetic moment but for others, this is not the case? Is there a general principle that will tell us when we expect a particle to have a magnetic moment and when not?
Question clarified
For either charged elementary particles (electron, muon, etc) or uncharged composite (of charged elementary particles) particles (example, neutron) the magnetic moment and spin are proportional to each other. But for photons, this is not the case. It has spin but no magnetic moment. This would mean that for the spin and magnetic moment to be proportional, either the particle should be charged or at least made of charged components. Can we derive this conclusion mathematically?
 A: 
For either charged elementary particles (electron, muon, etc) or uncharged composite (of charged elementary particles) particles (example, neutron) the magnetic moment and spin are proportional to each other.

For elementary particles in the context of the standard model, the gyromagnetic ratio (the ratio of magnetic moment to spin) is itself proportional to the particle's charge.  Neutral elementary particles (neutrinos, photons, and the $Z$ boson) have spin but no magnetic moment because they have no charge - in essence, $\mu = 0\cdot s = 0$.
For composite particles, the situation is more complex because the magnetic moment arises due to the elementary particles which make them up, so there's not such simple rule to follow.  Some neutral baryons (e.g. the neutron, $s=1/2$) have a magnetic moment, while others (e.g. the "excited neutron" $\Delta^0, s=3/2$) do not.


But I have read that the neutrino may have a nonzero magnetic moment despite having zero charge. How does this fit into your answer?

The magnetic dipole moment of a particle is a measure of its interaction with an external magnetic field.  At the coarsest level, it arises from the direct coupling between the particle and the electromagnetic field, and is proportional to its charge and spin; this interaction occurs at tree level in QFT, and is the quantity to which I referred in my original answer.
Beyond tree level, things become more complex.  Diagrams which include photon loops contribute small corrections, giving rise to the so-called anomalous magnetic moments of particles.  All of these corrections involve higher powers of the coupling between the particle and the electromagnetic field, and so neutral particles still don't acquire a magnetic moment from them.
However, we must not forget weak interactions.  We can consider processes in which particles interact with charged leptons $(\ell)$ and $W^{\pm}$ bosons, which in turn interact electromagnetically.  An example of such a process for a neutrino is diagrammed below:

These processes are highly suppressed compared to their more direct electromagnetic counterparts because of the relative weakness of the weak couplings (hence the name), but they still exist in principle, and for neutral particles they are the only way to interact electromagnetically, and therefore the only source of a (very, very, very small) magnetic moment.
That being said, these processes are possible only when the neutrino has a (possibly very small) mass.  In the standard model, neutrinos are massless, which means that even these higher order processes are forbidden and the neutrino genuinely has no magnetic moment to any order in perturbation theory - hence my original qualifier "in the context of the standard model."  Then again, the standard model is known to be inaccurate in this regard.
The standard model can be minimally extended to include small (Dirac) masses, at which point the above-mentioned anomalous magnetic moment due to weak interactions becomes non-zero.  But it can also be extended in different ways, and the magnitudes of the resulting predictions for the neutrino magnetic moment (including whether it vanishes or not) depend on which extension you choose.
At this point I'm rather out of my depth, being nowhere near a particle physicist, so a more detailed discussion of the neutrino mass and the various extensions to the standard model are best reserved for a different author and a different question.
A: No, it's not weird.
Photons have no charge, i.e. are electrically neutral, and are elementary particles, so they have no charged constituents that could interact to produce a magnetic field at a finer scale. As a result, their motion - whether translational or rotational - does not produce any magnetic fields at all.
A: Spin had to be assigned  to keep consistent with  the law of conservation of angular momentum, irrespective of the charges. The  specific assignment of spin is validated by the fit that the theory has to the data.
From the expression for the torque on a current loop, the characteristics of the current loop are summarized in its magnetic moment


The magnetic moment can be considered to be a vector quantity with direction perpendicular to the current loop in the right-hand-rule direction. The torque is given by

$τ=μxΒ$
$μ$ and $Β$  vectors.
Now a current loop is composed of moving charges. A neutrino and a photon do not have moving charges as point particles in the standard model The neutron is composite with charged quarks inside so it can and does have charged loops.
