One thing that many administrators don’t plan for is the possibility that things will go wrong. Although good planning and preparation can prevent many disasters, the most devastating disasters are those that are you are not prepared for. When you’re doing an upgrade, a point will come when backing out is no longer possible. If the new operating system doesn’t boot and you cannot go back to the old one, then you have problems.
One problem with which I have personal experience is device drivers for “newer” hardware. In most cases, the driver will list what operating systems under which it is supported and what specific releases. Unfortunately, in a few cases, the vendor says what versions of Linux under which it is supported because the vendor doesn’t provide any support itself.
Another problem is that the driver is release-specific. If you have a driver that was written for the 2.0 kernel, there are no guarantees that it will work with the 2.2, 2.4 or 2.6 kernel.