A carpet cleaner with rotating brushes is usually the best option for heavily soiled carpets. It scrubs the carpet fibers very effectively to loosen and remove deeply embedded dirt.