The number of elements of order $2$ in an infinite group
I've just proved that for $|G|$ finite, the number of elements of order $2$ is odd. But how about the case $|G|$ infinite?
(Here, there is assumption that the set of elements of order $2$ is nonempty.)
Let $X$ be the set of elements of $G$ of order $2$ and suppose that $X$ is finite. Then the subgroup $H=\langle X \rangle$ of $G$ generated by $X$ is finite, and so if $X$ is nonempty, then $|X|$ must be odd.
To see this, note that, since the conjugacy class of any $x \in X$ is finite, the index $|G:C_G(x)|$ is finite and hence, since $X$ is finite, $|G:C_G(X)|$ is finite, and so $H/Z(H)$ is finite. But then, by a result of Schur, the commutator subgroup $H'$ of $H$ is finite and, since the abelian group $H/H'$ is generated by elements of order $2$, it is also finite, and hence so is $H$.
Let $t$ be an element of order $2$ in $G$, and assume that the number of elements of order $2$ is finite. It is enough to prove that $\{x \in G: x^2 = 1\}$ contains an even number of elements. To do that, you can pair each $x \in C_G(t)$ with $xt$ and each $x \not\in C_G(t)$ with $txt^{-1}$.