{increment $counter} adds one to the variable and prints nothing. A variable
that does not exist yet, or holds an empty text (an empty request value, a
{set $n = ''}), starts at 1. The variable is a global, like one made by
{set}: its new value outlives the loop or block the tag stands in, which
is what makes it the step of a {while} loop.
It is the short form of {set $counter = $counter + 1}, without the error the
longer form gives when the variable does not exist yet. {decrement}
is its mirror image. The tag takes the variable by name - $counter, the $ written - so it
never evaluates it.
A value that is no number cannot be counted: {increment} on a word or a list is
an error naming the variable, and so is counting an engine variable such as
$padPage.