The tolerance in lsqminnorm should be used if you expect your matrix A to be of low rank up to a tolerance. That is, for rank k, the singular values k+1, k+2, ... will all be smaller than some tolerance tol.
In that case, a call to lsqminnorm(A, b, tol) is qualitatively similar to calling pinv(A, tol) * b to compute x using only the low-rank part of this matrix A. The difference when calling lsqminnorm is that this is usually faster, because it internally uses the QR decomposition instead of the SVD decomposition.
If the right-hand side is also affected by noise, lsqminnorm and pinv are not the right tools to take this into account.