How to know that $a^3+b^3 = (a+b)(a^2-ab+b^2)$ Is there a way of go from $a^3+b^3$ to $(a+b)(a^2-ab+b^2)$ other than know the property by heart?

It's a homogenization of the cyclotomic factorization $\rm\ x^3 + 1 = (x+1)\ (x^2 - x + 1)\:.\ $ Recall that the homogenization of a degree $\rm\:n\:$ polynomial $\rm\ f(x)\ $ is the polynomial $\rm\ y^n\ f(x/y)\:.\ $ This maps $\rm\ x^{k}\ \to\ x^{k}\ y^{n-k}\ $ so the result is a homogeneous polynomial of degree $\rm\:n\:.\ $ While this cyclotomic factorization is rather trivial, other cyclotomic homogenizations can be far less trivial.
 For example, Aurifeuille, Le Lasseur and Lucas discovered so-called Aurifeuillian factorizations of cyclotomic polynomials $\rm\;\Phi_n(x) = C_n(x)^2 - n\ x\  D_n(x)^2\;$. These play a role in factoring numbers of the form $\rm\; b^n \pm 1\:$, cf. the Cunningham Project. Below are some simple examples of such factorizations:
$$\begin{array}{rl}
x^4 + 2^2 \quad=&  (x^2 + 2x + 2)\;(x^2 - 2x + 2) \\\\
\frac{x^6 + 3^2}{x^2 + 3} \quad=&  (x^2 + 3x + 3)\;(x^2 - 3x + 3) \\\\
\frac{x^{10} - 5^5}{x^2 - 5} \quad=&  (x^4 + 5x^3 + 15x^2 + 25x + 25)\;(x^4 - 5x^3 + 15x^2 - 25x + 25) \\\\
\frac{x^{12} + 6^6}{x^4 + 36} \quad=&  (x^4 + 6x^3 + 18x^2 + 36x + 36)\;(x^4 - 6x^3 + 18x^2 - 36x + 36) \\\\
\end{array}$$
