If $ f(f(f(x)))=x$, does$ f(x)=x$ necessarily follow?

No. For instance, consider $f(x) = e^{2 \pi i/3} x$.

Finding a function which equals another function when iterated is called finding a "fractional iterate," "iterative root," or "functional root." In your case, you're talking about functional cube roots of the identity function. The problem of finding functional roots of the identity function is apparently known as "Babbage's equation," as the problem was studied by Charles Babbage at the beginning of the 19th century. You can find lots more information by Googling "Babbage's Equation."


Another set of solutions:

$$f(x)=\frac{1}{2} \left(-i \sqrt{3} \sqrt{\left(x-c_1\right){}^2+c_2}+3 c_1-x\right)$$