Just want to mention, even when Cisco has a "recommended" version, it may not be the ideal choice for you.
The "recommended" version generally is a generic version. You might need a version that supports a specific software or hardware feature not in the "recommended" version.
Further, even when a generic version is suitable for your needs, sometimes an "older" release is actually more stable/solid than the current "recommended" version. Software doesn't wear out. What you might consider, if running an older release, is whether that train is still under active maintenance, i.e. discovered bugs, especially security bugs, are being patched. If so, PM might just be updating to a more recent release of your older software train rather than jumping into a whole new software train.
That said, you should note when software maintenance will be stopped for your version, and plan to moving to a newer train where maintenance will still be provided.
When it comes to maintenance, there are two major schools of thought. One is, "if it ain't broke, don't fix it". The other is, "you need to stay current". Both have their pluses and minuses. My belief is, often it's good to consider the whole situation, where in any one case, you might go to one extreme or the other, or somewhere in between.