I think the issue is performance. A true term rewriting system has to essentially operate on text, right?
A -> A B (1)
A -> B (2)
B -> A
(1) never terminates, always adding a new B on application but not removing the A. (2) doesn't grow, but never terminates since each term is replaced with the other.