Does $f(f(f(x)))=x \implies f(x)=x$? Is it necessary for it to follow? How do we prove this? Do we have to substitute some special $x$? Or is it some other consideration of its properties?
Edit: does it follow in the special case when f is surjective? Or would we wind up with the same thing?
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."