I suspect this may just be a hardware fault that I have to live with or have repaired, but let's see...
My stock 1st-gen 16GB Moto G running 4.4.4 has been working flawlessly for almost a year. A few days ago, we had some WiFi interference issues in our house, which isn't unusual as it's a dense residential area.
I managed to resolve those, but noticed my phone still wouldn't connect. Using WiFi Analyzer (which is an invaluable app btw), I could see that it was detecting hardly any signal at all, while the same app on my Nexus 7, which was connecting fine, showed a good signal from both the access points in my house (not to mention various surrounding houses).
I thought there may just be an unresolved interference problem, but when I took the phone into my office the next day, I had the same problem there.
After a bit of Googling, I read that similar symptoms on Nexus phones could sometimes be worked around by putting the phone into Airplane Mode, then re-enabling the WiFi. Sure enough, that seemed to the trick for me too.
On further investigation, putting it into Airplane Mode, turning on the WiFi, and then turning on Bluetooth too, caused the WiFi to drop out almost immediately again. Here's an example of what I can see where I'm sitting right now, before and after enabling Bluetooth:
As it happens, in this case the WiFi stayed connected when I turned the Bluetooth off, as the one AP I could still see is the one I was connected to. But it would probably have disconnected soon afterwards.
Has anyone else experienced a similar issue? Is a factory reset likely to fix it, or is it really a hardware issue? I can live with it if it is, as I rarely use Bluetooth (and even more rarely do I need WiFi access at the same time), though I'd obviously be concerned about any knock-on effects further down the line.