WSN is intended to be deployed in environments where sensors can be exposed to circumstances that might interfere with measurements provided. Such circumstances include strong variations of pressure, temperature, radiation, and electromagnetic noise. Thus, measurements may be imprecise in such scenarios. Data fusion is used to overcome sensor failures, technological limitations, and spatial and temporal coverage problems. Data fusion is generally defined as the use of techniques that combine data from multiple sources and gather this information in order to achieve inferences, which will be more efficient and potentially more accurate than if they were achieved by means of a single source. The term efficient, in this case, can mean more reliable delivery of accurate information, more complete, and more dependable. The data fusion can be implemented in both centralized and distributed systems. In a centralized system, all raw sensor data would be sent to one node, and the data fusion would all occur at the same location. In a distributed system, the different fusion modules would be implemented on distributed components. Data fusion occurs at each node using its own data and data from the neighbors. This chapter briefly discusses the data fusion and a comprehensive survey of the existing data fusion techniques, methods and algorithms.