The "End-to-End argument" is about where to place functionality in a system, e.g., on the end-host or within the core of the network.
One version of it, which is called "the broad version" in the book ("Internet Architecture and Innovation"), says that you should only place functionality within the core of the network if it is needed by all end hosts. That means that the network should provide a very general service, not an application-specific one.
Advantage: The network is more flexible and new applications can use it more easily.
Disadvantage: You cannot do some performance optimizations.