This talk presents sufficient conditions for equilibration and thermalization of subsystems within closed many body quantum systems. That is, we identify when the local properties of the equilibrium state resemble those of a thermal state. With this aim, the recent progress in this field is reviewed and we introduce a novel perturbation technique for a realistic weak coupling between the subsystem and its environment. Unlike the standard perturbation theory, our technique is robust in the thermodynamic limit. Based on our thermalization results, we construct a simple and fully general quantum algorithm for preparing Gibbs states with a certified runtime and error bonds.