Depending on the method used, the limitations arise from (a) needing to know ground truth location of beacons; (b) any necessary training steps; (c) multipath issues; (d) synchronization; or (e) other non-ideal RF artifacts.
You can also combine multiple sensor measurements over time (eg. a person's path) using bayesian inference techniques (ie. particle filters) to further improve location accuracy.
(This topic is related to my PhD thesis: mobile robots finding and interacting with long-range RFID tags in homes. Many of the techniques are akin to radar: http://www.travisdeyle.com/research.html)