Think of the regular CvEventManager as a single order taker. You call that person, and if you want a burger, they tell the burger maker. If you want fries, they tell the fry cook. If you want a drink, they tell the person who pours drinks. They (the event manager) dispatch your order (event) to the right person (event handler, e.g. onCityBuilt).
Planetfall changes how certain events are handled, so think of it as the drive-thru order taker. If you order something normal (e.g. onGameStart), they just pass your order along to the regular order taker. However, if you order something specific to the drive-thru window, e.g. an oil change or gas fillup, they dispatch it to some other handler.
This works fine for a single mod. However, as soon as you want to merge two mods, each with their own 2nd order taker (event manager), it's hard to merge them without knowing more than basic Python.
Dr. EJ's CvCustomEventManager is like an order taker for order takers. It doesn't care what the events are. It has a generic table of events and handlers, where each event can have 1 or more handlers, and it dispatches the events to each handler registered with it.
So instead of the drive-thru order taker passing regular orders on to the regular order taker, you put a master order taker in front that talks to all the other order takers as necessary. When you eventually add a fly-thru lane, you simply tell the master order taker about the fly-through order taker and the orders s/he can take.