Each of its components is independent of each other and can be replaced, which gives it great flexibility and generalizability, but also leads to time-consuming.
It allows several components to be integrated into a unified network, which leads to faster speeds, but makes it difficult to achieve global optimality due to conflicts between components.