According to the docs, the meaning of the arguments passed to ParametricPlot3D is $x, y, z, u, v$. This is 5 arguments: the Cartesian coordinates and the two parameters. Similarly, for ParametricPlot it's $x, y, u, v$.
Let's look at how many arguments are actually passed to the ColorFunction:
Reap[ParametricPlot3D[{Cos[u] Cos[v], Sin[u] Cos[v], Sin[v]},
{u, 0, 2 Pi}, {v, -Pi/2, Pi/2}, ColorFunction -> ((Sow[{##}]; Gray) &)]]
If you evaluate this, you'll notice that actually 6 arguments are passed to the colour function, but the last one is always zero. If we use the one-parameter form of ParametricPlot3D, then still six arguments will be passed, but now the last two are zero.
Reap[ParametricPlot3D[{Cos[u], Sin[u], 0}, {u, 0, 2 Pi},
ColorFunction -> ((Sow[{##}]; Gray) &)]]
Similarly, the colour function of ParametricPlot receives 5 arguments instead of 4.
What is the meaning of the last argument passed to the ColorFunction of these functions? Does it have any use? Does ParametricPlot3D have a form where the last argument of the colour function will not be zero and has an application?
RegionPlot3Dand plainPlot: Both also add an extra0.argument. – celtschk May 16 '12 at 12:20