Adaptive networks are well-suited to perform decentralized information processing and optimization tasks and to model various types of self-organized and complex behavior encountered in nature. Adaptive networks consist of a collection of agents with processing and learning abilities. The agents are linked together through a connection topology, and they cooperate with each other through local interactions to solve distributed optimization, estimation, and inference problems in real-time. The continuous diffusion of information across the network enables agents to adapt their performance in relation to streaming data and network conditions; it also results in improved adaptation and learning performance relative to non-cooperative agents. This article provides an overview of diffusion strategies for adaptation and learning over networks. The article is divided into several sections: 1. Motivation. Comparison Conditions MSD network atc ≤ MSD network cta A doubly stochastic, C right stochastic. MSD network cta,C =I ≤ MSD network cta,C=I C T RvC ≤ Rv, C doubly stochastic, R u,k = Ru, µ k = µ. MSD network cta,C=I ≤ MSD network cta,C =I C T RvC ≥ Rv, C doubly stochastic, R u,k = Ru, µ k = µ. MSD network atc,C =I ≤ MSD network atc,C=I C T RvC ≤ Rv, C doubly stochastic, R u,k = Ru, µ k = µ. MSD network atc,C=I ≤ MSD network atc,C =I C T RvC ≥ Rv, C doubly stochastic, R u,k = Ru, µ k = µ. MSD network atc ≤ MSD network cta ≤ MSD network lms {A, C} doubly stochastic, R u,k = Ru, µ k = µ.