I am currently working through the second edition of Pearl's book Causality: Models Reasoning and Inference. As far as I can tell, Pearl's emphasis on DAGs excludes some potentially valid sets of causal relationships. In particular, I don't see any reason why a "real world" causal structure couldn't be cyclic in places. In fact, I think that any phenomenon that could be described as "self-reinforcing" or prone to a "positive-feedback" loop very likely has at least one cycle in it's "real" causal structure.
Normally I wouldn't think much of this. Most well known sets of models that I am aware of are not meant to be able to model everything. The exceptions are, perhaps, universal approximators. I just find it strange that Pearl does not state this clearly in the early chapters.
So, am I missing something or is this just a known limitation of DAGs?
Edit: In response to the related question linked to by B.Liu, I have a few complaints with the answer.
Even if we exclude retro-causality (on presumably definitional grounds) I'm not sure we can say cause has to come before effect because that seems to imply a delay. In physics, for instance, many relationships are modeled as basically instantaneous. We could argue about whether that reflects perfect reality, but that is how they are modeled. To give a very simple example, Newton's second law -- $F_{net}=\frac{dp}{dt}$ -- is causal as far as I can tell and there is no delay between the application of a net force and change in momentum.
The suggestion that we consider the value of a quantity $A$ at two different time points as two different variables (e.g. $A(t_{1})$ and $A(t_{2})$ sounds extremely impractical. Not only would you need to scale potentially the number of nodes in your DAG by the number of time points being considered, but you could potentially end up with a sprawling set of dependencies. Not only are $A(t_{1})$ and $A(t_{2})$ related, but potentially everything causally related to $A(t_{1})$ will also be related to $A(t_{2})$, no?
This is the most important one. The accepted answer seems to treat DAGs as a simple account of what caused what in a particular situation. Like "A happened which led to B happening and so on..." Almost like a graphical ledger or at best a model for one particular dynamical system. But the whole point of these diagrams is to represent stable models which can be used to run counterfactuals. If changing $A$ effects $B$ and vice versa, then both relationships need to reflected or you will get poor predictions.
I'm either very lost or the accepted answer in the linked is way off base. I'd be grateful for clarification in either direction.