How does the Non Local Means Filter different from other approaches such as:
Gaussian smoothing and TV denoising are local filters that only consider the neighborhood around each target pixel; on the other hand, non-local means updates a pixel's value by using a weighted average of the pixels judged to be most similar.
The reason why it is called non-local is because it does not consider the spatial relationship between pixels, instead, the similarity between different patches and the patch around the target pixel is computed to determine the weight mentioned above (inversely proportional to the distance between its patch and the reference patch of the target pixel).
Yet some studies also showed that Non-Local means is a local image denoising algorithm, in which experimental results indicated that the bias of the non local means estimator is an increasing function of the radius of the similarity searching zone (patch).
The paper (A.Buade et al's On image denoising methods) provided more detailed comparisons between non local means and Gaussian, TV from the aspect of (1) the method noise, (2) the mean square error, and (3) the visual quality of the restored images by simulation. You can skip the theoretical part by reading section 6 for a brief conception of the effect of those methods, which may also be helpful in better understanding the meaning of those mathematical formulas in previous sections.