Let's start from the forward kinematics equation
$$x = f(q),$$
where $x \in \mathbf{R}^6$ is the end-effector position, $q$ is the joint angles, and $f$ is a (usually highly nonlinear) forward kinematics mapping. Due to the nature of $f$, computing the image of $q$ under $f$ (i.e. $f(q)$) is not difficult but computing the preimage of $x$ under $f$ (i.e. $f^{-1}(x)$) is a very challenging task. It is often very difficult, if not impossible, to have a closed-form formula of $f^{-1}$.
Fortunately, regardless of how nonlinear and complicated the forward kineamtics function $f$ is, when taking the time derivative of the above equation, we always have
$$
\begin{align}
\frac{dx}{dt} &= \left( \frac{d f}{d q} \right)\frac{dq}{dt}\\
\dot{x} &= J(q)\dot{q}
\end{align},$$
which is always a linear relation (i.e. a joint velocity is mapped to an end-effector velocity by a matrix $J$). Its linearity makes it very appealing.
Now when given an end-effector position $x^*$ and we want to compute a corresponding $q^*$, we can do so by using the following procedure:
- Suppose the manipulator is at a an end-effector position $x_\text{current}$ and joint angles $q_\text{current}$
- Compute $dx$ as an increment from $x_\text{current}$ towards $x^*$
- Compute the Jacobian $J(q_\text{current})$
- Compute the increment in joint angles $dq$ from $dx = Jdq$.
- Update $q_\text{current}$ and $x_\text{current}$
- If $f(q_\text{current}) = x^*$, terminates. Otherwise, go to step 2.
The above procedure is, roughly speaking, pretty easy to follow and implement compared to computing directly $f^{-1}$.