A variable always stands for something! When a teacher says that a variable can stand for anything, he/she is saying that the particular value can be anything. It does not mean that you can replace that variable with anything and get a true statement.
As for your a= -a, "a" cannot 'stand for' -a because -a is another variable, not a possible value of a variable. In fact, if a is a variable with the property that a= -a, then (assuming a is a number or, more generally, an object in some algebraic system with additive inverses [so that "-a" makes sense]) we can add a to both sides to get 2a= 0 so that a= 0. That is the value a represents.