The `ColorFunction` of a `SphericalPlot3D` has five arguments, the first three being the $x$, $y$ , $z$ coodinates in $\mathbb{R}^3$. The _last two_ are the actual parameterization parameters of the surface.

`#` (`Slot`) and `&` (`Function`) together allow to define anonymous function. `#4` and `#5` refer to the fourth and fifth argument. Here is (essentially) equivalent rewrite with `Function` in long form:

    SphericalPlot3D[1, {θ, 0, π}, {ϕ, 0, 2 π}, 
     ColorFunction -> 
      Function[
       {x, y, z, u, v}, 
       ColorData["Rainbow"][Re[SphericalHarmonicY[5, 2, u, v]]]
       ], 
     ColorFunctionScaling -> False
     ]