Differences between GMM and MSM? In wikipedia, the main difference between GMM and MSM(Method of simulated Moments) is in the former the moment/orthogonality conditions can be evaluated analytically, while in the latter they cannot and we have to use sample analogues. 

However, in wikipedia and other texts, with GMM we also use sample analogues.

So, what is the difference between both methods?

Any help would be appreciated.
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.