There are many. One of the biggest is drivers. Another is how resource hungry it is. It performs slower than XP (6 years it's elder) for general tasks and gaming. For example, my parents crappy old laptop had Vista on it, it took around 7 min from power on to when you could log on and then another 3 after you logged in before you could do anything. I installed 7 on it and it's on, logged in and able to be used in under 5. The embedded digital rights management was another.
Why do you think when XP came out in 2001 they didn't put out a new OS until late 2006 (2007 for regular users)? But then from Vista to Windows 7 there was only a 2 year gap? From a regular user standpoint I would see how it would be okay but from an IT standpoint (which is the field I work in) it's a freaking nightmare. I have never heard of a business switching from XP to Vista, only from XP to 7. In the classes I take we don't even talk about it, we cover XP and 7 with a little bit of 8 thrown in. There isn't even a class I could take on it if I wanted to. The percentage of companies using it is so marginal that it doesn't make sense to have a class for it.
But like I said, to a regular user it wouldn't be an issue. If you like tinkering under the hood it's a mess. But yeah, resource hungry, driver issues, overpriced, the UAC, driver issues, needlessly complex menus to do simple tasks (when screwing with system settings I would usually just abandon the GUI and use command prompt), and oh yeah...driver issues.
There is a reason Microsoft continued to sell XP after they said they would stop and a reason they still support it today.