There is no such thing as a command, they are all functions.
No. Actually most are statements. A function takes it's word from the wonderful world of mathematics, such as for instance: y = f(x) = x^2*sin(x).
As can be clearly said for something to be a function it must have two properties. It must take an input value (x in this case) and have an output value (f(x) or y in this case). Thus it is possible to find one corresponding output value for any given input.
Any command that does not have these two properties is a statement or procedure (statement if it has neither input or output, procedure if it has either input or output).
methods change but don't return anything
That's not a very accurate definition.
Traditionally the () is there to distinguish between methods and fields, as many languages (traditionally C++, but also newer languages) allow you to have a "xposition" field and an "xposition" method. Now since the C++ compiler, for some reason
must be a single pass compiler, it needs to know which member you are trying to access, the field or the method. Thus() the() need() to() postfix() absolutely() everything().