I often hear about subatomic particles having a property called "spin" but also that it doesn't actually relate to spinning about an axis like you would think. Which particles have spin? What does spin mean if not an actual spinning motion?
Spin is a technical term specifically referring to intrinsic angular momentum of particles. It means a very specific thing in quantum/particle physics. (Physicists often borrow loosely related everyday words and give them a very precise physical/mathematical definition.)
Since truly fundamental particles (e.g. electrons) are point entities, i.e. have no true size in space, it does not make sense to consider them 'spinning' in the common sense, yet they still possess their own angular momenta. Note however, that like many quantum states (fundamental variables of systems in quantum mechanics,) spin is quantised; i.e. it can only take one of a set of discrete values. Specifically, the allowed values of the spin quantum number
When it comes to composite particles (e.g. nuclei, atoms), spin is actually fairly easy to deal with. Like normal (orbital) angular momentum, it adds up linearly. Hence a proton, made of three constituent quarks, has overall spin 1/2.
If you're curious as to how this (initially rather strange) concept of spin was discovered, I suggest reading about the Stern-Gerlach experiment of the 1920s. It was later put into the theoretical framework of quantum mechanics by Schrodinger and Pauli.
Imagine going to the rest frame of a massive particle. In this frame, there is rotational symmetry, which means that the Lie algebra of rotations acts on the wave function. So the wave function is a vector in a representation of Lie(SO(3)) = Lie(SU(2)). "Spin" is the label of precisely which representation this is. Note that while SO(3) and SU(2) share a Lie algebra, they are different as groups, and it is a fact of life ("the connection between spin and statistics") that some particles -- fermions, with half-integral spin -- transform under representations of SU(2) while others -- bosons, with integral spin -- transform under SO(3).
Spin is angular momentum of particles. The lowest possible spin is 1/2 h-bar. It's impossible for any particle with angular momentum to have a lower angular momentum than this, and whatever angular momentum a particle does have must be an integer multiple of this. Consider it the angular momentum building block. It's value is 340 dB below a kilogram meter squared radian per second.
I'm trying to give a less technical answer. It's not rigorous but should give you the idea how spin and the regular rotation related.
Maxwell's equations say in order to have magnetic field, you need a ring current.
This can be achieved by giving angular momentum to charged particles. This can be orbital or simply because the particle is spinning. This was the original thought hence the name 'spin'.
So in the classical picture, if you spin a tiny charged ball you'll have a spinning magnet. The axis of spinning and the north pole of the magnet pointing to the same direction.
If you put this spinning magnet into a magnetic field. The field will apply torque on it to turn it into the direction of the field (this is how compasses work).
But since the our magnet is spinning this torque cause the axis of spinning precess around the magnetic field. This means the component of the rotation axis that is parallel to the magnetic field (typically referred as the Z component) won't change while the other two components (X,Y) will circle around this axis.
On the other hand if the magnetic field inhomogeneous there will be a net force on the particle that will move it (that's why magnets can snap and repel each other). This force is proportional to the Z component. So the axis perpendicular to the magnetic field there will be no force, if it's parallel there will be maximum force (basically a dot product). This allows us measuring the Z component of the rotation axis.
That's the point of the Stern–Gerlach experiment. We would normally expect that particles will spin in a whole variety of random axes. So we would expect to measure random values for the Z component.
But in reality they have measured only two possible values corresponding to the Z angular momentum component: $ħ/2$ and $-ħ/2$ (for electrons). And not any other random values. Here the classical picture breaks down, angular momentum is also quantized. You can see spin is not the classical rotation vector. It's something you can dot multiply a vector to and you can only get two possible values. The positive component typically referred as the 'up' spin component while the negative is the 'down' spin.
Precession renders all axes other than the one being measured uncertain. This is how uncertainty principle plays role here: if you measure the Z component first, then measure the X component, then the Z again, you get random up/down results again, because the measurement of the X components precessed the Y and Z component. Also, you cannot cheat here: you may want to use weaker magnetic field to reduce the precession, the displacement will be too weak to distinguish between the up and down spins. If you try to use timing; you cannot cheat again because if you measure the time accurately, then the energy so the precession rate becomes uncertain.