Upgrading your routers and switches is not a fun job, but it's got to be done at some point. Some people like to be on the bleeding edge of technology, and run the latest versions of software and operating systems. For networking equipment, that's not such a good idea, for a variety of reasons that I'll cover here.
It may seem obvious to you that if a new feature is announced, you should upgrade immediately to get that new feature. But this is rarely how things work in the real world. The only time that happens is in small networks without change control, and with no restrictions or penalties relating to downtime.
Upgrading should not be done lightly. The code that runs your switch or router is just software, and software can have bugs, including security vulnerabilities. While the major vendors do a good job of version control and beta testing, there are plenty of bugs listed on any vendor's site to prove my point.
What about upgrading something like memory? Easy enough, right? It might be as simple as swapping out a DRAM SIMM or even just adding a new one, but you can never rule out complications.
Here are some reasons to be wary about upgrading:
Upgrading might resolve the bug that's causing you grief, but the new code revision might have another bug you didn't know about. The best way to prevent this is through due diligence. Cisco can help you cross-reference bug lists and determine what code release you should ...