Homotopy equivalence iff both spaces are deformation retracts
Solution 1:
The key point is that the inclusion of $X$ into the mapping cylinder is a cofibration. It is a general fact that if $A \hookrightarrow B$ is a cofibration and a homotopy equivalence, then $A$ is a deformation retract of $B$. One way to think of this is to use the model structure on topological spaces (due to Strom) where (closed) Hurewicz cofibrations are cofibrations, Hurewicz fibrations are fibrations, and weak equivalences are homotopy equivalences.
So let's prove the following more general fact. Let $A \hookrightarrow B$ be an acyclic cofibration in a (closed) model category, where $B$ is fibrant. Then $B$ "deformation retracts" onto $A$. Let us assume that our model categories have functorial factorizations, so there is always a functorial cylinder object $A \times I$ for $A$.
To see this, let us first show that $B $ retracts onto $A$. By replacing the model category with the model category of objects under $A$, we can assume that $A$ is the initial object $\emptyset$, and $B$ is cofibrant in such a way that $\emptyset \to B$ is a weak equivalence. This we can do by considering the lifting diagram with $\emptyset \to B$ and $\emptyset \to \ast$ (where $\ast$ is the final object). We get a retraction $B \to \emptyset$.
Now we want a "deformation retraction." Let us consider the two maps $B \rightrightarrows B$ given by the identity and the retraction. We want a homotopy between the two. But we can consider the lifting diagram with $B \sqcup B \to B \times I$ (for $B \times I$ a cylinder object) and $B \to \ast$. Since $\emptyset \to B$ is an acyclic cofibration, so is $\emptyset \to B \sqcup B$, and two-out-of-three shows that $\emptyset \to B \times I$ is a weak equivalence too; thus $B \sqcup B \sqcup \emptyset \times I \to B \times I$ is a trivial cofibration. Thus a lifting exists in the diagram, which is the map $B \times I \to B$ that we wanted.
Solution 2:
Ok, here is a proof taken from Lee's Introduction to topological manifolds pp. 207:
claim: $X \times [0,1]$ is a deformation retract of $Z_f$
proof:
(DEF) mapping cylinder $Z_f$ If $f: X \rightarrow Y$ is a continuous map then its mapping cylinder $Z_f$ is the space $X \times [0,1] \cup Y / \sim$ where $\sim$ identifies two points $x \in X$ and $y \in Y$ if $f(x) = y$.
(i) Let $r_Y$ be the retraction of $Z_f$ onto $Y$ in $Z_f$, $r_Y:Z_f \rightarrow Z_f$: $$\begin{array}{ccc} [x,s] & \mapsto & [x, 0] \\ [y] & \mapsto & [y] \\ \end{array}$$
(ii) Let $h_1$ be a homotopy from $id_X$ to $r_Y$, $h_1: Z_f \times [0,1] \rightarrow Z_f$: $$\begin{array}{ccc} [x,s], t & \mapsto & [x, s(1-t)] \\ [y], t & \mapsto & [y] \\ \end{array}$$
(iii) Let $F:Y \times [0,1] \rightarrow Y$ be the homotopy from $ f\circ g $ to $id_Y$
(iv) Let $G:X \times [0,1] \rightarrow X$ be the homotopy from $ g \circ f$ to $id_X$
(v) if $B: Z_f \rightarrow Z_f$ is the map $$\begin{array}{ccc} [x,s] & \mapsto & [g(f(x)),0] \\ [y]& \mapsto & [g(y),0] \\ \end{array}$$
then $h_2:Z_f \times [0,1] \rightarrow Z_f$ is a homotopy from $r_Y$ to $B$: $$\begin{array}{ccc} [x,s], t & \mapsto & [F(f(x), 1-t] \\ [y], t & \mapsto & [F(y, 1 - t)] \\ \end{array}$$
(vi) and if $r_X: Z_f \rightarrow Z_f$ is the retraction of $Z_f$ onto $X$: $$\begin{array}{ccc} [x,s], t & \mapsto & [G(x, s), 1] \\ [y], t & \mapsto & [g(y), 1] \\ \end{array}$$
then $h_3: Z_f \times [0,1] \rightarrow Z_f$ is a homotopy from $B$ to $r_X$: $$\begin{array}{ccc} [x,s], t & \mapsto & [G(x, st), t] \\ [y], t & \mapsto & [G(g(y), t)] \\ \end{array}$$
With $[f(x)] = [x,0]$ (because $[y] = [x,0]$ if $f(x) = y$) one sees that $$ r_X \simeq B \simeq r_Y \simeq id_{Z_f}$$ where $B = h_2(.,1) = h_3(.,0)$.
Even given the proof it doesn't seem obvious to me. Particularly frustrating is that I think I'd be able to reconstruct it but it doesn't feel "natural" or intuitive.