Circular dependencies indicate excessive coupling. In some cases, they cause problems for the compiler. They always cause problems for the programmer trying to understand or reuse the code in the future. The simple advice is that you should ControlDependencies.
See also:
On Cyclic Dependencies by Gregg Donovan
Granularity by "Uncle Bob" Martin discuses the Acyclic Dependencies Principle.