OK, stop doing what you are doing. You are probably adding to the problem. Understand that you have not really provided a lot of information here so the responses here are either a shotgun approach or a guess, which may or may not be of any value to you.
As a general observation, when you have any kind of issue, the first thing you can do is to go to Administration > Server > Debugging and turn on Debug messages to "ALL:..." Do whatever is causing the issue and then check the logs. Sometimes this means you can track the problem down and resolve it quickly, or it will point to something that needs further investigation. The information from the logs can then be given here which can help resolve issues more rapidly. Don't forget to turn the Debug Messages off afterward, btw.
Now, my guess. Whenever I have had a restore issue it often meant I have a Role, quite often the Admin User Role, that is different and Moodle rejected the restore because it cannot reconcile these two roles. In your backup, go to the zip file and unzip it, open the Moodle.xml file and delete the Admin User Role, the details of it anyway. (Use a UTF-8 compatible text editor, like TextPad or NotePad++ or Crimson Editor anything, but not Windows Notepad.) Save the file, rezip the backup and try a restore. This can also apply to other Roles as well, but usually the Admin User Role is the one that creates the drama. Another issue can be there is a block used in the course and included as a site file in the backup that is not present in the restore Moodle. You may want to find the block, using the same method as above, and delete references to it from the backup. This does not always work, as you can delete something you should not have - be aware of that, and be careful if you do it.
Suggestion, run two types of backups, one that is a class changeover, or end of year or semester or course backup that includes ALL user files. Store that backup somewhere off your Moodle and keep it secure. Reset the course then create a second backup without User Data, but when creating the backup, do other things as well. I do NOT include User Data, Users, User Files, Site Files, Logs, Grade Histories, and NO backup Role Assignments. I try and make it as small as possible. It may mean losing some Exercise and Workshop activities, but we do not use a lot of these we use more Lessons anyway. This I store off the Moodle in a separate location and try to keep it safe, and I only keep one of these. This is my first port of call when having a problem in a course. It may mean losing some User data sometimes, if there is no current backup but better that than my courses. It also means courses can be operational again quickly.
The other thing is backing up. If a single course is not backing up, then there is often a corrupt file or block somewhere that is causing the issue. If it is restricted to one course then it may even be a course file, go into the course, delete from it any unusual blocks. Look at the files area and see if there is anything unusual in there. If there is, delete it and try again. The shotgun is using your test Moodle. FTP to your Moodle Root and look at the folder structure. You should be able to find the Backup folder, then delete it. From your test Moodle, copy the Backup folder directly to your site using FTP. This works for a couple of reasons, the connectionless nature fo the Internet, and second, there is not a lot of files in Modle that are installed, these are scripted pages, not executables, so you can replace entire folders or single pages and still have Moodle running properly.
If you have no test Moodle then I suggest you create one, the same version, from the same download as your site Moodle. Test things here first, use a smal number of courses to do things with, and do not be afraid of wrecking it. A small Moodle used to test stuff in before you do anything to your site is going to show you problems before you import them to your production site. I usually place this test Moodle on my local machine, environment does not matter much, usually, but sometimes it does. Get a problem on your production site and you can test responses here too.
Good luck.