I know what yield return is, but I can't understand why should I use it,
is it just because it saves me a row of a list declaration?

It must be something more to it.

What is it and where it is best to use it?

\*I asked where and why to use it , whats its advantages and not what is it.