CoRoutines are different. They allow us to build abstractions that were impossible before. Basically the Coroutine-TS introduced a new type of flow composition to C++.
The main driver for the introduction of Coroutines for C++ are asynchronous compositions. But there is so much more. It took me a while to realize how well thought out this TS is. Therefore I will try to share my conclusions with you.