It is generally a good practice to use ClearAll (or Clear, but ClearAll does more work). The documentation is observing that if one makes multiple definitions for a function which has different patterns in its argument definition, then all will be saved in that function's DownValues (i.e., the list of rules that Mathematica goes through to see which one it should use when you call the function in a particular form). Mathematica will save all definitions for the function, but will generally (but not always) replace one of a specific pattern if a new version with that specific pattern is evaluated as a new definition for it. Mathematica attempts to order definitions for a function in the order from more specific to more general, though sometimes that it is not possible to make that determination. So if you define
g[x_]:=x^2
and
g[2]:="cheese"
then when you execute g[2] you get "cheese" and not 4.
In the odd example I gave previously I gave different definitions for f[x] and f[x] which are different patterns, so both are saved since x and x__ are different patterns.
But, to come back to the beginning.... it's always good practice to use Clear or ClearAll when you want to redefine a function from scratch.