Based on what should i upgrade my current IOS in my environment?
i know it's not necessary to be dated.
The most common reasons to update (different than an upgrade):
You've added a new device, with new protocols or new variations to an old protocol and you need the old stuff to be compatible.
You are adding a new module or blade to an existing device, and the new module or blade requires a newer version of IOS.
That one usually goes like this:
Question: " I put in a new 48 port Fast Ethernet POE blade in my 65xx and it's not showing up in the inventory or not being recognized by the IOS. What am I doing wrong / is this a bad blade?"
Answer: Check the compatibility matrix and load a version of (CatOS / IOS) that supports that hardware
Most common reasons to upgrade (move to an IOS / Firmware that offers more features):
You need the additional new features. For example, if you have IP-only software, and you need / want to use SSH ... SSH requires (used to require?) IP Plus w/ encryption feature set or better ... so you purchase the upGRADE license for the new IOS with the additional features.
Summary: Update: a newer verison of the same software (ala 12.4(2) --> 12.4(9))
Upgrade: IOS (could be the same train, or different train) with additonal feature set, for example, IP-only --> IP Advanced Services.
Updates are "free" with a SmartNet contract (or Cisco bug/vulnerability fix)
Upgrades (usually) cost additional.