I run into this question a lot and I have heard statisticians say things like we all do machine learning because none of us actually runs a regression or classification by hand on paper. We all use machine's.
On the other hand - some computer scientist's I talk to say that when you use programmatic techniques to orchestrate an analytical flow compared to using a GUI in SAS / SPSS you are using machine learning.
One more answer I have heard is that if you use algorithms like RandomForest , Deep Learning , GBM etc you are doing machine learning as compared to statistics.
I think all the above are observations that are partly right. But , as a person trained in Computer Science and Statistics , I have a very specific test to split the two.
To me - the difference really lies in the notion of defining the . In Statistics the Loss function is pre-defined and wired to the type of method you are running. i.e For Regression the Loss function is Mean Squared Error. The best results are the one that minimizes the MSE.
If you are using machine learning , you will most likely write a custom program for a unique Loss Function specific to your problem. Let us say you might want to take an average of the MSE of several models and then select one based on some criteria(ensemble methods). Or if you have a very skewed skewed dataset with 1% positives and 99% negatives. You might want to introduce a bias for positives and code your Loss Function appropriately. These kind of operations require a very heavy programmatic approach.Because , ultimately the Loss Function you land on will be coded specific to your problem.
This to me is the key difference between the two.