Conservation of energy has been a major concern for Wireless Sensor Networks (WSNs) and IoT applications. Several strategies were devised, aimed at optimizing energy consumption in these applications, based on: (a) use of low-powered hardware devices, (b) deploying mobile/relay agents for data collection, (c) clustering, and (d) data aggregation. Amongst these, data aggregation is widely acknowledged as an important tool to conserve energy in WSN and IoTs. The paper provides a comprehensive survey of various data aggregation strategies, discusses the efficacy of these strategies in handling issues that are typical to WSN and IoT applications. These issues severely impact the performance metrics such as: energy efficiency, latency, fault-tolerance, network throughput, and network lifetime. Therefore, to optimize the data aggregation approach, an application developer needs to arrive at optimal tradeoffs between these parameters. A major contribution of the paper is to present a holistic review of data aggregation approaches emphasizing the effect of topology, security, mobility, interference, and fault-tolerance in WSN and IoTs. Based on gap areas in literature, we throw open few challenges and present them as “posers”, and put-forth suggestions for further research.