Transaction A could happen before B, after or concurrently. In the first 2 cases, there is said to be causal connection between the transactions.
Cross channel timing dependencies: if there are 2 communication channels between 2 systems, one slow channel can break causality.
Causal order is not equal to total order. Linearizability, by definition,gives the latter because it makes the system behave as if there is a single copy of the data. However, has a performance penalty and many systems that pretend to require linearizability, in reality, only require causality.