I've been under the impression that RBM can be used for a variety of applications and a cursory search on google seems to confirm this. But I've heard from multiple people (including a peer reviewer) that they're not considered to be "good," whatever that means. Is there a limitation of RBMs that I'm not aware of? Is it just that less shallow neural nets can learn better or is there a deeper reason why RBMs might be limited?
Empirically, the performance of RBMs on many important tasks is (so far) not as good as other competing approaches.
Answering "why" questions about why one model does better than other is very hard. We don't really understand why neural networks work as well as they do; but empirically we can measure their performance and we can use them, even if we don't have a convincing explanation for "why" questions.