IMO It is an engineering fault for their failure...
To writ...
1. Firefox abandoned stable releases for these rolling releases like Chrome does, which doesn't work in an office environment (and indeed, in an office I worked at, they decided to ditch firefox because of it). Also, it messes up OS repositories (like the Debian ones) because they can't push updates to the repo every time the firefox people decide for an update. However sites now assume the rolling update model, and will sometimes break on versions of firefox that haven't had a few rolling updates.
2. Firefox changed the UI to be more like Chrome. Which upset those of us who have been using firefox for ages, and who liked the UI (I personally never liked the Chrome UI).
3. The removal of XUL, the breaking of plugins/extensions/themes, and the general middle finger given to firefox power users not only lost those power users, but also the other people who went to those power users for advice. Once upon a time when building/repairing a machine for someone, I would install firefox by default and explain to them why they should use it over IE. No longer.
4. It has gotten worse. The new firefox uses more memory than the old one, is slower than Chrome, and is far more buggy. They seem to have split tabs into their own processes, like Chrome, but tabs keep crashing, and it just doesn't work that well.
It seems firefox tried really hard to be a clone of Chrome, which is stupid. If someone wants to use Chrome, they will use Chrome. Why would they use a Chrome clone that isn't as good?
However by doing this, they not only ended up being a poor Chrome clone, but they lost those of us who didn't like Chrome. This is exactly what happened with me, I didn't like Chrome, but when firefox became a poor copy and lost what I liked about the browser, I saw no reason to use it anymore, and now Chromium is my main browser (at least until I get around to installing pale moon, which seems to be hitting all the right buttons. Might give seamonkey a go as well).