It all depends on the device you upgrading.
1. Go to software.cisco.com ( you see 5 Start Gold image, ) which is cisco's recommended version.
2. read the release notes and understand the caveats, which may affect your environment.
3. some time if you upgrade different version MicroCode needs to be Upgrade that is part of the process of upgrade.
4. when you move from old IOS to new, some syntax may be changed, so be ready to change those and adapt to new settings.
for suggestion: if you have a spare device always test before you implement it in production to minimize the downtime.
Does hope this make sense?