My tip:
Always stay one generation behind bleeding edge.
I upgrade hardware about once in 6-8 months, but I never get anything that is the "latest".
That is one of the easiest ways to ensure that any new OS you run will give no hassles.
The only thing I refuse to discard is my HP 1010 Laser. I got that for free, and there is always a workaround.
7 though has been a revelation in terms of hardware management. I never have to run around searching for drivers for old(ish) hardware, which is one of the most prominent reasons people have trouble with it.
Also, no trouble at all with most software.