The process of creating a backup of the DB causes the DB Engine to extract records. Soft Reset clears the DB. The restore process takes the extracted records and imports them back into the DB.
Very over simplified, but any corrupted records DON"T get extracted, don't get backed up and therefore, don't get imported.
Never heard of one, but there are obviously some theoretical cases where it doesn't clean up. Then simply go back another and another saved backup til you get an actually clean restore.