Nanofluids are colloidal suspension engineered by dispersing nanometersized metallic or non-metallic particles (nanoparticles, nanotubes, nanowires, nanosheets or droplets) in a base fluid. The nanofluid enhances properties of the base fluid. Nanofluids have extraordinary properties that make them potentially useful in many applications. Even though the nanofluid has lots of advantages, its applications are limited due to poor stability over long-term, high-pressure drop, particle collection, low specific heat, high cost. In this review, an attempt has been made to explain the method of preparation, stability, properties, and applications of nanofluids.