Most of programming language, functions normally hands over the value using return keyword. But using yield keyword can bring the value very different way.
The first noticeable difference is that when using the return keyword, the result value is provided only once, and the yield keyword provides the result value divided by multiple times.