Ok, let me take my comment seriously and have a try at a personal answer to the second question (I really don't know what students think a variable is, and I feel it is a question that needs difficult research to be answered more than anecdotally).
Short version
Constants and variables are names (often a single letter) given to mathematical object for various reasons. Constants are mostly a convenience, while different kind of variables are used to denote object whose identity is not completely specified. I distinguish (at least) three kind of variables: placeholders, arguments and unknowns.
Placeholders are variables used to structure a general reasoning around a fixed but unspecified object. Arguments are used in functions, as a way to express what part of the expression of the image is the object taken as entry by the function. unknowns denote putative objects, that may or may not exist, in order to express an equation (or more generally a set of constraints) we want to study (e.g. to determine whether said equation has solutions).
Here is the long version, hopefully useful by its examples (which are addressed to students, for use by teachers). We should distinguish at least the following terms: variable, which will be the most generic term, and three specific kind of variables: placeholder, unknown, argument (the terminology might not be completely standard, but that is about what fulfills my needs). I won't speak about the indeterminants, which are still another beast and somewhat more confusing (at least to me), and that I would not consider as variables.
First, the common between these objects.
They all are about giving a name to mathematical objects, but with slightly different goals and convention. That name is usually a Latin or Greek letter, but it may in principle be any symbol or word (e.g. $\square$). They thus relate to constants, which are names given to well-defined, fixed mathematical objects. For example the golden ratio is defined as $\frac{1+\sqrt{5}}{2}$, and writing $\phi$ for it is just a shortcut. The number $\pi$ has conveniently been given a one-letter name to avoid having to constantly use periphrases such as "the ratio of any circle's perimeter to its diameter" as well as recalling that said ratio does not depend on the chosen circle.
What distinguish variables from constants is that their value is not fixed, or unclear, or unspecified. The reason why we use a letter is not mere convenience, it is a way to speak about mathematical object before we know much about them. Before going further, let us take an example: $\sqrt{2}$. This looks like a bad example, as it is a constant, whose name has a quite different form from a $x$ or a $y$. But thinking about it, we name it as soon as we are able to define it (i.e. as soon as we can prove or accept that there is a unique positive number whose square is $2$), and then we can start studying it. For example, if we want to give the first decimal digits of $\sqrt{2}$, we will use its definition and thus will need its existence, and we will use the name we have created before starting the computation. That is an example why we may need to give names to quantities or objects we don't yet know perfectly.
The difference between the three words to be defined lies in the type of unspecification we deal with. What is confusing is that these different situations are something mathematician are so used to that they don't need to really think about them: they have build an intuitive understanding of how to use them, to the point they don't feel the need to use different words. And that is how we tend to call variables very different things that look the same, but which are better distinguished at first.
The main point: differences between different kind of variables
placeholders
This is probably what most mathematically educated people think of when told about variables. A placeholder is a name given to an object of some specified type (we ask that it belongs to some set, for example "let $x$ be a real number"), possibly with some specified property (e.g. "assume $x$ is positive"), but whose identity is not specified either to ensure that the ensuing reasoning can be applicable generally, or because its precise value cannot be determined without specifying completely previously introduced placeholders. Placeholder thus enable us to do one reasoning, and apply it at once to all possible values in the specified set with the specified properties.
For example, assume we want to prove that the square of an even integer is even. We would let $n$ be an even integer, then apply the definition of $n$ to state that there exists an integer $k$ such that $n=2k$, then compute $n^2=4k^2=2\times(2k^2)$. Observing that $2k^2$ is an integer, we deduce from the definition that $n^2$ is even. In this proof, $n$ is a placeholder that ensures generality, while $k$ is a placeholder whose value depends on $n$ (and is unique given $n$, in this case).
Arguments
When we define a function, we specify (a domain, a target set, and) an assignation to each element of the domain of an element of the target set. We can for example define a function $f$ by stipulating that it maps each given real number to the sum of the square of the given number, minus three times the given number, and two. We see that this is not a very comfortable way of phrasing things. What we do is we use an argument: we choose any symbol (that does not provoke collision with previously used symbols), say $x$, and use it instead of "given number" above. The example above can then be written $f : x\mapsto x^2-3x+2$; or we say that $f$ is the function defined by $f(x)=x^2-3x+2$.
An important point is that the chosen symbol must appear both on the domain side and on the target side, so that we know what it means; for example, assume that there is a parameter $t$ in our context, which is known to be an unspecified real number. Then we could want to study the function $g$ defined by $g(x)=x^2-tx+2$, and then we have to distinguish clearly between the roles of $x$ and $t$.
Unknowns
An unknown appears notably when one wants to study an equation: it is a name for a putative object of a specified nature (i.e. belonging to a specified set) which satisfies a given constraint or set of constraints (often equations). It is important to stress that the object is putative, in that it may or may not exist, depending whether the equation (or set of constraints) admits a solution or not. But we need to name the thing just to phrase the equation, thus before determining whether it exists or not.
For example, consider the question: "which real numbers have their square equal to themselves plus one?" It is rephrased as "find the solutions of the equation $x^2=x+1$ in the real unknown $x$". (We should always specify the set of allowed values of the unknown, but this is often neglected).
There are situations where the different kind of variables are difficult to separate.
Take for example the following problem: "determine which pairs of real numbers are the sum and the product of two real numbers". To solve the problem, we can first reformulate it with variables: "let $a$ and $b$ be real numbers, and consider the equation system
\begin{cases} a =x+y \\ b = xy \end{cases}
in the real unknowns $x,y$." Here $a,b$ are placeholders and $x,y$ are unknowns. But then we work a little, and arrive at the conclusion that "the above system has a solution if and only if $a^2-4b\ge0$." So the answer to the original question is best phrased as an equation on the placeholders. This is ok in the phrasing above, because $a^2-4b\ge0$ is an assertion rather than an equation to be solved. But the difference is thin and can be overlooked by the reader, or the writer may phrase things more loosely. This is probably the kind of situation where extreme confusion can happen, with teachers struggling to understand what is unclear to the students, because teachers have a much better intuitive understanding of these matters, but an understanding that they only rarely phrase explicitly.