Other than for testing purposes or plain inertia: Sometimes it's the older version of some program that is more suitable for what you need. Perhaps it's because of feature-creep in the later versions or because of some compatibility which the newer one doesn't support, or just because there isn't enough of a difference to upgrade for, etc.
As an example, I saw somewhere on SO (but can't find where) that Visual C++ 2005 supports code written for GCC better than Visual C++ 2008 does. For some this could be a good reason for staying with the 2005 version.
Is there a program (not OS) which you find you prefer or have to, use a previous version of even if you were offered the latest? What makes the older version preferable, what would need changing for you to upgrade?