This tutorial will review the main aspects characterizing a large variety of spreading phenomena through the description of real examples and applications, and the introduction of the theories and models developed to address them. It will present processes ranging from the simple diffusion to the system exploration and information searching, to contagion phenomena. Contagion will include biological processes as the spreading of an infectious disease in a population, social contagion phenomena as the rumor spreading or the contagion of addictive behaviors, and cyber-epidemics due to the diffusion of cyber-viruses in various technological domains. Analogies and differences will be presented and discussed. The focus will be on the impact of complexity on the key properties of these processes.