They are decent, considering they're pretty cheap, however yes there are better (used) options available.
LG G3 - Excellent phone. Top seller these days. Don't get the CDMA crap that people will try to sell you (i.e: Sprint and Verizon phones). If you need LTE, get the International (D855) or AT&T (D850). If you only use 3G, then even T-Mobile (D851) will suffice.
Nexus 5 - A generation older than the G3 (SD800 vs SD801), not a big difference, but I think Google is stopping with Android M for the Nexus 5. However, developer support will live on forever. The Nexus 5 is one of the phones that continued to surprise me, always. It simply never 'lagged'. I had one during the Kitkat 4.4.4 era, it was excellent then, rooted with a couple of Xposed mods. Then, I updated to LP 5.1, even better! Before Marshmallow came out, I sold mine. However, 2-3 months ago, I bought one as a second phone, flashed the latest MM factory image and surprising enough, it was just as snappy and quick as it was when on earlier OS versions. People still prefer the Nexus 5 over newer devices because of this, you can flash a custom ROM and kernel, it'll be blazing fast and improve the kinda crap battery that it had.
D820 is 3G only. D821 is 3G+4G. Pick whichever suits your requirements.
Moto X (2nd Gen): I'm just going to stop you right here. ONLY buy the GSM ones. Stay away from the Verizon crap. I don't need to say much, this phone is basically a mini Nexus 6. Looks almost the same as well. Practically stock Android, smooth UI, less bloat. Blah blah, it's a great phone provided that you can find an AT&T, Pure Edition, or the most rare one, the Europe edition.
Model numbers are here:
AT&T - XT1097
Pure Edition - XT1095
Europe/Global - XT1092
If you see an XT1096 Verizon, don't bother.
As for prices, well you can easily get a G3 and a Nexus 5 in 15k. A Moto X may require some negotiating with the shopkeeper, since they prefer to sell it at around 17-17.5k