If variations quit working, the it could be the relationship list (hidden list in the root site) could be corrupt.
This could happen when you copy sites/pages from the target site back to the source site.
The easiest way to fix is run the variations editor.
You have to run the tool on the front end server (just on one of them if you have multiple, SharePoint will propagate the changes to any other front end servers). You just download the zip file and extract the files to a folder, it doesn’t install anything there is just a .exe (SharePoint Variations Editor.exe) file to run.
You have to enter the url for your site (ex, http://www.blah.com/en/pages/home.aspx), then click the scan button (next the text box you entered the url, looks kind of like a site icon).
It will scan all your sites (progress bar (with % complete) at the bottom) and show your site structure.
The very last 2 nodes will include any warnings or errors.
For each error on a page, select the page, check the check box, then click green button in the toolbar.
For each error on a site, you will need to look up that site’s group in the hidden relationship list (http://demo/Relationships%20List/AllItems.aspx). Look for that site in a different variation and get the group id from that site. You will have to rescan after making these changes.
After that propagation will continue to work and any page not propagated will be propagated to the target sites.
This blog summarizes a couple of other blogs I learned from (I want to give credit where credit is due.)