If you’re a heavy user of WordPress and use WMPL together with W3C Total Cache then you might have found out that it doesn’t work properly when using alias domains for each language. The language switcher doesn’t work correctly anymore. It seems that it switches to the first cached page and/or sometimes a random page. It might work for all pages except the home, but can also affect all pages on the website.
The default setting for the disk cache on W3C Total Cache is enhanced. Simply by changing this option to basic, both plugins will work together flawlessly. In enhanced mode the caching plugin fiddles with the headers of the HTTP request, in basic mode it keeps them as they are.
Update: Added clarifications as per the comment of Richard