You can compare the two styles in Tornado: plain Tornado uses callbacks, or you can code with generators using e.g. http://code.naeseth.com/swirl/
In practice everyone uses plain Tornado with callbacks. The problem with generators as coroutines to me is that you can't compose them nicely: you can't call a subroutine that yields, you must yield only from your top level. This and the fact that it's another layer of leaky abstraction.