This is nicely elucidated elsewhere.3 To summarise, the end-to-end principle argues that we should not build unnecessary complexity into our base system because at a general purpose level of abstraction we can't hope to properly solve problems which exist at more specific levels.