It is more efficient because you can get a good estimate of the posterior with fewer samples compared to the Metropolis approach. There are several limitations. You do not want to use conjugate priors because these are pathological in shape in multilevel models. When you have more complex models and a large number of parameters, it becomes inefficient because they tend to get stuck in small regions of the posterior for a long time. You get highly correlated parameters, which can lead to a narrow ridge of high probability combinations.
n_eff find the number of ideal or uncorrelated samples. n_eff find the number of samples used for estimating the posterior distribution but the actual number of samples is the actual number of data points available. Thus, n_eff is usally smaller than the actual number of samples.