Well, it's usually due to taxes. The company I work for hires people from other countries officially as contractors, otherwise they would need to maintain a legal presence in every country that they hire in - or so I'm told.
EDIT I made a blog post about this https://gitlab.com/sytses/sytses.gitlab.io/commit/e9a000d321...
Btw. This seems to be a more readable version of the URL, one that you posted linked to git commit https://sytse.com/2016/12/28/adyen-for-payrolling.html
PS: Gitlab is awesome, keep up the good work.