Sunfire is a full-on, always-available GCD for full DoT spread.
Moonfire is 2 targets per cast.
To compare…
–Destro Warlock: multi dot is one global, Cataclysm, with a cooldown of 30s. Immolate has to be extended by Channel Demonfire, otherwise it will fall off between Cataclysms.
–Aff Warlock: multi dot is Seed (which only spreads Corruption) and Vile Taint, which applies Agony + a utility curse to a cap of 8 targets.
–Shadow Priest: Shadow Crash, applies Vampiric Touch (and via another talent Shadow Word: Pain) to up to 8 targets, cooldown overlaps cleanly with itself in terms of duration. Can also cast Vamp Touch to apply SW:P to same target, so two DoTs per cast of Vamp Touch.
–Balance Druid: Sunfire applies to ALL targets near primary target. Moonfire applies to two targets if both are within 15yds.
It’s worth noting that all of the above “multi dot solutions” require some degree of clumping or closely spaced enemies. Some have slightly larger areas than others, but Sunfire is the only uncapped spell in that category, and Moonfire can be applied to two targets with no cooldown.
Also worth noting that (to my recollection) Sunfire and Moonfire both generate Astral Power on cast.
For Warlock, Cataclysm is free but generates no resource by itself. (Applied Immolates do, however.) Seed of Corruption and Vile Taint both cost Soul Shards. Seed and the DoT it applies do not generate any Shards, while Vile Taint does not directly generate Shards but instead increases the chance of generating a Soul Shard per tick of Agony.
For Shadow Priest, Shadow Crash generates Insanity, but I don’t believe the DoTs it applies will generate the Insanity they normally generate on-cast.