(quick background: I started using gnome around version 0.13 or something, switched to KDE3 for a while when gnome2 came out, went back to gnome2, then switched to xfce when gnome3 came out)
About gnome 1, all I can say is that I can believe the code itself might have been a mess, but from a power user's perspective, I found it a lot more user-friendly to click the "advanced" tab of a config dialog, then to run gconf-editor like I had to do to configure gnome2 correctly for me.
Now, what I think might be the main issue with gnome3 is that it kept using the name "gnome" when it had nothing to do with what people knew as the gnome desktop. It seems like if developers wanted to do something so radically different, they should just have called it a different name. At least there wouldn't be the implicit statement that the new desktop environment is a continuation of the old one.
That being said, there would still be the issue of "why are all the developers abandoning the desktop we're using". That one seems unavoidable and is the main reason I'm unlikely to go back to gnome3 even if one day it bring back support for the features I used in gnome2 (and now use in XFCE). Given the track record, it just seems highly predictable that in a few years, gnome4 will be released and that it will not look like anything we're used to using. As a FOSS developer myself, I understand that gnome developers don't owe me anything. That being said, I'm a bit disappointed that the main desktop environments (gnome, KDE) are moving away from the power user work flow of many of the Linux (the whole system, but just the kernel) developers use.