Storm is a unified system. The key difference with other CEP systems is that Storm executes your topologies across a cluster of machines and is horizontally scalable. Running a topology on Storm looks like this:
storm jar mycode.jar backtype.storm.my_topology
In this example, the "backtype.storm.my_topology" defines the realtime computation as a processing graph. The "storm jar" command causes the code to be distributed across the cluster and executes it using many processes across the cluster. Storm makes sure the topology runs forever (or at least until you stop the topology).
(I can't say I'm intimately familiar with every CEP system out there, so feel free to correct me if there are distributed CEP systems. Those products tend to have webpages which make it hard to decipher what they actually are / do)