As per the scaladoc:
A method annotation which verifies that the method will be compiled with tail call optimization.
If it is present, the compiler will issue an error if the method cannot be optimized into a loop.
This is a verification to trigger an error if you thought you wrote an optimizable function while you actually did not. Even if you don't put it, the compiler will optimize the code if it is possible.