In Thermodynamics a reversible process is a process in which the energy accumulated in the surroundings is exactly the same as the energy expended by the process with no losses due to friction or other effects. A reversible process can be reversed at any point in the process by making a series of infinitesimal changes in the opposite direction of the original process.
In general a reversible process requires an absence of friction, a balancing of internal and external forces (i.e. only infinitesimal changes can be made in a given step), and time to reestablish equilibrium after each infinitesimal step. When these conditions are not met, the process is irreversible.
In practice, all real processes are irreversible, yet some processes approach reversibility. Heat may be transfered nearly reversibly if the temperature gradient is very small. Electrical charge may be transferred nearly reversibly if the driving electrical potential is very small. A gas may be compressed nearly reversibly if only very small changes in pressure are made at a time.
The idea of a reversible process is important because many thermodynamic calculations can only be made for the case of reversible processes. Usually the reversible case sets an upper or lower bound of what can be achieved by an irreversible process. For example the efficiency of any reversible Heat engine corresponds to that of the Carnot heat engine, while all irreversible heat engines have a lower efficiency.