Why is pass-by-value preferred to pass-by-reference lately?

Lately I’ve seen than most of the arguments and return values that were passed by reference, are now being changed to being passed by value.

I searched the forum but couldn’t find any thread discussing this, I bet jules has its own reasons for doing this, but are there any pointers on why this seems to be the most effective way to do that now?