The order of the terms can matter. This is especially true of derivative operators and the objects on which they operate. For example,
$$\begin{align}
(\nabla \cdot \vec a)\vec b&=(\partial_i a_i)b_j\\\\
&=b_j(\partial_i a_i)\\\\
&\ne a_i\partial_i(b_j) \,\,\text{(and certainly not}\,\,a_ib_j\partial_i)\\\\
&=(\vec a\cdot \nabla)\vec b
\end{align}$$
I have actually found retaining unit vectors where applicable can help. In the previous example, I might have written
$$(\nabla \cdot \vec a)\vec b=(\partial_i a_i)(\hat x_jb_j)$$
For more complex expressions, this can be quite useful. For example, suppose we have $\vec A \times (\vec B\times \vec C)$. Then, I would write
$$\begin{align}
\vec A \times (\vec B\times \vec C)&=\hat x_i A_i\times (\hat x_j B_j\times \hat x_kC_k)\\\\
&=(\hat x_i\times (\hat x_j\times \hat x_k))A_iB_jC_k\\\\
&=(\delta_{ik}\hat x_j-\delta_{ij}\hat x_k)A_iB_jC_k\\\\
&=(A_iC_i)\hat x_jB_j-(A_iB_i)\hat x_kC_k\\\\
&=(\vec A\cdot \vec C)\vec B-(\vec A\cdot \vec B)\vec C
\end{align}$$
recovering the familiar vector triple product!
And in one last example, from THIS ANSWER I POSTED HERE
$$\begin{align}
\nabla \times \nabla \times \vec A&=(\partial_i \hat x_i)\times (\partial_j \hat x_j)\times (\hat x_k A_k)\\\\
&=\hat x_i\times(\hat x_j\times \hat x_k)\partial_i\partial_j(A_k) \tag 1\\\\
&=\left(\delta_{ik}\hat x_j-\delta_{ij}\hat x_k\right)\partial_i\partial_j(A_k)\tag 2\\\\
&=\hat x_j\partial_j\partial_iA_i-\hat x_k\partial^2_i(A_k) \tag 3\\\\
&=(\hat x_j \partial_j)(\partial_i A_i)-\partial^2_i(\hat x_kA_k) \tag 4\\\\
&=\nabla \nabla \cdot \vec A-\nabla^2\vec A \tag5
\end{align}$$
In going from $(1)$ to $(2)$ we made use of the vector triple product. Note that $\delta_{ij}$ is the Kronecker Delta with $\delta_{ij}=1$ for $i=j$ and $0$ otherwise.
In going from $(2)$ to $(3)$, we used the sifting property of the Kronecker Delta.
In going from $(3)$ to $(4)$, we rearranged terms.
In going from $(4)$ to $(5)$, we recognized the terms of the final result in terms of their tensor representations.