What is the logic behind when emitters actually emit?
Is it scripted on a per map basis or is there something that I am missing?
Sometimes they seem to fire like crazy and other times they seem idle!
Well, few things about emitter logic
1) Emitters have maximum output rate. It's normally very high, but emitters don't always use this this rate for reasons below. But if emitter can "fire like crazy", it will try to do so.
2) Emitter has maximum amount of particles it can has on a map at any given time. If this maximum, for example, is 100, then emitter will produce 100 particles at its maximum rate, then it will stop producing particles. That will cause emitter to seem idle. It's just waiting for some of its first 100 particles to die so it can start producing more.
3) Every map has overall particle limit. Emitters would not produce particles if this limit is reached. For example, if two emitters have their maximum at 100, and map limit is 150, each emitter would produce about 75 particles, and that would hit a total map limit and cause emitters to stop before they reach their individual limits. This can cause some strange behaviors - emitter can become almost defenseless because total particle limit was reached by other emitters, so this one cannot produce any; or emitter can suddenly become very dangerous because you destroyed other emitters, thus allowing this one to reach its full potential.
As stated above, editor is a good place to see how it all works.