Hey Michael,
1. Using the DOM (well, jQuery's events) is slower than a dedicated pub/sub module due to the way it simulates bubbling. It's not *slow* per se, but you'll notice if you do a lot of triggering at page initialisation as it can block render.
2. Unless you explicitly want the bubbling properties that any event triggered in Flight will have, there's no obvious advantage. I'm talking specifically about 'data' events here: obviously DOM events have to bubble and you will have no problems using Flight's event API to react to DOM events.
3. See above :) That said, if you're happy to do it, using a single node as a 'bus' isn't a bad option (I'd recommend document over document.body as there will be less bubbling).
4. Flight requires an es5-shim (Object.keys, Array.forEach etc) so the obvious advantage would be the performance gain from the native implementations of these functions. That said, the shims are pretty fast — so it depends on your use-case!
My recommendation: use the pub/sub for 'data' events and Flight's API for DOM events and anything you explicitly want to bubble.
Hope that helps!