Pretty much spot on, but I will add one more reason that Vista flopped - it was too CPU and memory intensive for hardware of the time. When Vista came out, PCs were single-core systems with 1-2GB of RAM, plus onboard graphics were quite shonky back then. XP ran fine on these systems, Vista did not. Hence it immediately developed a reputation for being slow (in addition to the messy UI and flaky driver support).
Saying that, Windows 7 will also run like crap on a single-core PC with 1GB of RAM. Only difference is that by the time Windows 7 was released, 4GB of RAM and a dual core CPU were now pretty-much standard issue, on-board graphics could now handle Aero with ease, hence Windows 7 ran very nicely and everyone was happy.