In my opinion, hardware development has become much more robust and streamlined. There are no chipsets that would be considered crap anymore. Compatibility problems are way down from where they used to be. The only parts that I see commonly fail are fans, and those are usually only the sleeve bearing ones.
Software development on the other hand, it's a mixed batch. On one side, you have simple, powerful software applications that work very well and are quite small. These are usually made by smaller companies or individuals. Then you end up with a bloated, buggy piece of crap software that somehow makes it onto every OEM PC on earth. It's usually hard to use, feels stripped down, and is slow.
Where I think the difference is, is that software development itself hasn't been scaling well. At the company that I work for, we increased the amount of programmers 10 fold. But I don't see the level of software going anywhere. A system with a 286 had a smoothly scrolling screen, they couldn't make a 1GHz P3 do that. It's like everyone knows how to design a city, but noone knows how to design a building anymore. I commonly see software trying to be inbetween art and science. When it comes to auditing the code, it's hard to understand because it's art, but it doesn't have to look good because it's science. Wrong standpoint.
Another problem I see: the testing phase is tedious, time consuming, and there's no glory. So NOONE DOES IT. They want the glory of coming up with the idea. Once they got the glory, they're done. This leads to the "ship it now, patch it later" idealogy. That doesn't happen with hardware, patching hardware isn't easy nor cheap. Remember when Intel "patched" the i820's MTH? Yeah, that didn't go over smooth did it? One excuse I hear is that "software has millions of lines of code, it is going to have lots of bugs.". Consider that a chipset has some 20 million transistors easy, CPU has around 80 million or so, GPUs are in the 150 million range, RAM is in the billions. There's tons of support circuitry as well. How many patches are issued for those each month?
Software development needs to work like hardware development if they want computing to make the next leap.