What is the difference between courtine.yielded() and return

‘Courtine.Yielded’ stops a function and ‘return’ stops a function as well ,then what is the difference between them

coroutine.yield suspends the execution of a coroutine code at a specific point and then you can use coroutine.resume function to resume the coroutine from that point