SphericalPlot3D initially evaluates each function at a number of equally spaced sample points specified by PlotPoints. Then it uses an adaptive algorithm to choose additional sample points, subdividing in each parameter at most MaxRecursion times.

You should realize that with the finite number of sample points used, it is possible for SphericalPlot3D to miss features in your functions. To check your results, you should try increasing the settings for PlotPoints and MaxRecursion.

On[SphericalPlot3D::accbend] makes SphericalPlot3D print a message if it is unable to reach a certain smoothness of curve.