How come multiple regression has so many assumptions, while advanced machine learning algorithms have next to none?
There are a number of reasons for this, in my opinion.

Linear regression assumes your y to be linearly related to variables where as tree-based models are considered non-linear models. (So the linearity assumption goes out the window)
Breaking some of the linear regression assumptions may not inherently decrease the predictive ability of your model,  but WILL bias the coefficients. Often times, when building a regression model you are trying to determine the effect of an X variable on the Y. In this case you mainly only care about this weight and don't care as much about how well your model predicts. If you are aiming only for predictive ability you can break some assumptions.

These are the main 2 thoughts that come to mind. I would be interested to hear other people's take as well.
I am analyzing a real-estate dataset. While all regression assumptions fail, my XGBoosting model thrives. Am I missing something? Is XGBoost just the superior model in this case? The dataset is around 67.000 observations and 30 variables.