What is gap analysis? Types, key aspects, benefits and applications