I would never upgrade every year. Once I pick a model I max it out and make sure it runs all the software and works with all the hardware I need it to. If I upgraded every year I am bound to run into compatibility issues and that would slow my work up dramatically.
Plus, being a RevA/Beta tester for new hardware is never a good way to spend your money if you don't have a lot of it to begin with.
I buy what's slated to work with what I have, then keep it until it becomes too slow to, or doesn't do what I need it to do. Then it's research into the appropriate replacement, maybe a couple of test runs, then a purchase of either that model, or the model before it depending on price and availability and if it's the best model available.