From algorithmic perspective, there is not much a difference between ML and DM - both use the same algorithms for modelling, for example, decision tree induction, artificial neural networks, and k-means clustering, etc. Note that many of the algorithms are from statistics. On the other hand, DM is more concerned with data infrastructure, and the context and the interpretation of the modelling.
In the big data era, you will get a great number of data. You can get useful information from these data by data mining process. Machine learning is a technology for data mining. Machine learning also has a lot of algorithms, such as neural networks and support vector machine.