The `ColorFunction` of a `SphericalPlot3D` has six arguments, the first three being the $x$, $y$ , $z$ coodinates in $\mathbb{R}^3$. The fourth and fifth argument are the actual parameterization parameters of the surface and the last argument is the distance from the origin (the radius).

`#` (`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
     ]

Here is the example from the documentation:

    GraphicsGrid[
     Partition[#, 3] &@
      Table[SphericalPlot3D[
        1 + Sin[5 ϕ]/10, {θ, 0, Pi}, {ϕ, 0, 2 Pi},
        PlotPoints -> 100,
        ColorFunction -> 
         Function[{x, y, z, θ, ϕ, r}, Evaluate[f]], 
        PlotLabel -> f, 
        Axes -> None], {f, {Hue[x], Hue[y], Hue[z], Hue[θ], 
         Hue[ϕ], Hue[r]}}],
     
     ImageSize -> Full
     ]

[![enter image description here][1]][1]


  [1]: https://i.sstatic.net/fnexh.png