Example 8 (2005 Romanian Mathematical Olympiad) Find all functions $f: \mathbf{R} \rightarrow \mathbf{R}$, satisfying the following two conditions:
(1) $x[f(x+1)-f(x)]=f(x)$, for all $x, y \in \mathbf{R}$;
(2) $|f(x)-f(y)| \leqslant|x-y|$, for all $x, y \in \mathbf{R}$.
If $x>0, n \in \mathbf{N}$, from (1) we can get $\frac{f(x+1)}{x+1}=\frac{f(x)}{x}$, thus $\frac{f(x+n)}{x+n}=\frac{f(x)}{x}$.
Then $|f(x+n)-f(y+n)|=\left|\frac{x+n}{x} f(x)-\frac{y+n}{y} f(y)\right| \leqslant|x-y|$,
which means $\left|f(x)-f(y)+n\left[\frac{f(x)}{x}-\frac{f(y)}{y}\right]\right| \leqslant|x-y|$,
for all $x, y>0$, and $n \in \mathbf{N}$.
Therefore, there exists a real number $k$, such that $f(x)=k x$, for all $x \geqslant 0$.
Similarly, there exists a real number $l$, such that $f(x)=l x$, for all $x<0$.
Taking $x \in(0,1)$, from the equation $\frac{f(x-1)}{x-1}=\frac{f(x)}{x}$ we can deduce that $l=k$.
Thus $f(x)=k x$, where $k \in \mathbf{R}$, and $|k| \leqslant 1$.