Rainwater harvesting is the accumulation and storage of rainwater runoff for reuse on-site rather than allowing it to flow off. It involves collecting rainwater from rooftops using simple techniques like jars and pots or more complex systems like underground check dams. The collected water can be used for recharging groundwater, gardening, drinking, and irrigation. There are two main methods of rainwater harvesting - surface runoff harvesting from urban areas and rooftop harvesting where the roof acts as a catchment to collect rainwater into a storage system through pipes. Proper filtration is important to remove contaminants before using the stored water.