Difference between metric and norm made concrete: The case of Euclid
Solution 1:
The metric $d(u,v)$ induced by a vector space norm has additional properties that are not true of general metrics. These are:
Translation Invariance: $d(u+w,v+w)=d(u,v)$
Scaling Property: For any real number $t$, $d(tu,tv)=|t|d(u,v)$.
Conversely, if a metric has the above properties, then $d(u,0)$ is a norm.
More informally, the metric induced by a norm "plays nicely" with the vector space structure. The usual metric on $\mathbb{R}^n$ has the two properties mentioned above. But there are metrics on $\mathbb{R}^n$ that are topologically equivalent to the usual metric, but not translation invariant, and so are not induced by a norm.
Solution 2:
The simplest answer to the question in the title is that a metric is a function of two variables and a norm is a function of one variable.
The other question, which I would summarize as "which came first?" is (at least in the Euclidean context) a chicken-and-egg question. You can define the Euclidean (or $L^2$) distance between $x$ and $y$ as $\sqrt{(x_1-y_1)^2+\cdots+(x_n-y_n)^2}$ and then define the norm as the distance from $x$ to the origin; or, you can define the Euclidean (or $L^2$) norm as $\sqrt{x_1^2+\cdots+x_n^2}$ and then define the distance from $x$ to $y$ as the norm of $x-y$.