What is the difference between Cydia Impacter and Semi Restore, they do the same I think, what is best. ?
Cydia Impactor is different than Semirestore as after the Cydia Impactor finishes, damaged/lost files will be repaired (back to Apple stock) and the device will no longer be jailbroken.
Cydia Impactor uses the firmware archives provided by Apple for its 'over the air' update feature. These files are ~2GB large, so Impactor goes to extreme lengths to minimize the amount of data it needs to download.
First, the update's 'bill of materials' is compared against the files on your device, generating a list of changes.
Then, all files on your device that have been modified or otherwise destroyed are downloaded directly from Apple.
In a series of carefully calculated file migrations, all new files are moved to the user partition, and all system data is moved back to the system partition.
Finally, all of the staged changes to the filesystem are 'committed', all user data is deleted, and iOS is told to run its 'reset all content and settings'.
When the device reboots, it will look as it did when you first turned it on. It will also no longer be jailbroken. If you want to jailbreak it, you will need to do so using a desktop jailbreaking tool.
Where as Semirestore can not and does not repair broken system files. All it does is:
Remove all Cydia apps and tweaks. It fixes host file if there's any issue with it, clear all user data, fixes issues of permissions and privileges, fixes issues on activation, fixes iMessage/Facetime issues, fixes Safe Mode issues randomly appearing and reinstalls Cydia (if deleted).
In short, if your iOS system files are corrupt Semirestore can't fix it. You should use Cydia Impactor for best results or to fix the issues with your iDevice.
Cydia Impactor only works if you're on iOS8.1+, though. For older versions, you can (have to) use Semirestore.