Proving ring $R$ with unity is commutative if $(xy)^2 = x^2y^2$ 
Let $R$ be a ring with unity. Assume that $\left(xy\right)^2 = x^2 y^2$ for all $x, y \in R$. Prove that $R$ is commutative.

I tried several methods to solve this but couldn't get through. Now the solution in almost all the textbooks goes like this.
First take $x$ and $y+1$ so that $ (x(y+1))^2 = x^2(y+1)^2 => xyx = x^2y \\$ 
Then substitute $x+1$ in place of $x$ to get $yx = xy$
I have always believed that solutions to questions can't be abrupt, there has to be a logic behind approaching in a particular way. Therefore, I couldn't grasp the intuition behind this method.
Can somebody please suggest some other intuitive way or explain the reasoning behind above solution?

By Dan Shved's comments, you can see why switching $\Box$ by $\Box +1$ is a commen way in commutativity conditions. The commutator $[x,y]$ plays an vital role in commutativity conditions. There is immense number of papers which are about this technique. For example:
1) I. N. HERSTEIN, Two remarks on the commutativity of rings, Canad,J. Math.,7 (1955),411~412.
2)E. C. JOHNSEN, D. C. OUTCALT and A. YAQUB, An elementary commutativity therem for rings,
Amer. Math. Monthly, 75 (1968), 288--289.
3)Khan, On Commutativity Theorems for Rings, Southeast Asian Bulletin of Mathematics (2002) 25: 623–626.
Also, using nilpotent elements is the another technique for commutativity conditions.
