While in GMM one uses theoretical analytical moments, in MSM one uses simulated theoretical moments instead.
For GMM,
[t]he method requires that a certain number of moment conditions were specified for the model. These moment conditions are functions of the model parameters and the data, such that their expectation is zero at the true values of the parameters. The GMM method then minimizes a certain norm of the sample averages of the moment conditions. (Wikipedia)
Crucially,
In order to apply GMM, we need to have "moment conditions", i.e. we need to know a vector-valued function $g(Y,\theta)$ such that $m(\theta_{0})\equiv \mathbb{E}[\,g(Y_{t},\theta _{0})\,]=0$.
For SMM, values of functions of the data and the parameters are too difficult to calculate analytically. Essentially, we cannot calculate what the moments of the data are given the parameters; for example, we cannot calculate $\mathbb{E}(XY)$. Instead we simulate a large sample of $X$s and $Y$s and calculate $\frac{1}{n}\sum_{i=1}^{n}X_i Y_i$ (simulated sample, not the actual sample) to replace the theoretical $\mathbb{E}(XY)$. The rest is the same.