Well suited for building management networks across the organization as it has been reliable without much downtime. Since it has great switching qualities, it suites well for data center and end-user connectivity using access switches. It might not be the best for routing, as other XOR software has proven to be superior for routing.
Kali Linux is especially well suited in environments where high security is needed for your custom developed applications. This is well suited for offensive testing your high security in house developed applications. It is also very good for doing penetration testing on in house developed applications and safe guarding them from external attackers. Kali Linux is tough for use as a day to day Linux operating system as this was never intended to be used by beginners and occasional Linux users.
By this point, there are several "flavors" of the Cisco IOS such as XE, XR, and the standard Cisco IOS. While they are all fairly similar, there does exist syntax differences between them. It would be ideal if at some point in the future, Cisco is able to unify all of them into one standard operating system which would use the same syntax across all platforms.
While overall Cisco does a great job of QA'ing their IOS, no matter the release, there's always some minor bugs. I think it's important that Cisco continue to pour resources into their QA team to test their software.
While I'm very familiar with the graphical readouts of "show processes cpu history" I would love for Cisco to eventually find a more intuitive way to display this data. I can't begin to count how many times I've had to teach more entry level (and even mid level) engineers how this graph is interpreted.
I do wish that Cisco had something similar to Juniper's "commit check" or "commit confirmed". This helps validate the changes you're about to apply, and catch errors, so that you have a better idea of the impact of the change.
The data that Cisco IOS is able to provide is extremely relevant, it's fast, and it's intuitive. I also love that you're able to leverage things like macros or EEM scrips to run multiple commands at once. This is especially useful when you have more junior or entry level engineers in your environment and you want to provide them with a "shortcut" by having them type a single command to execute multiple commands.
Cisco IOS is the most stable I've used, has the best TAC support, has the best knowledge base articles and white papers from Cisco, is the most intuitive, is one of the fastest, and since it's the most widely used network appliance OS, chances are that most network engineers you encounter will have the most familiarity with Cisco IOS than with any other vendor's OS.
I would say the number one competitor to Kali is Parrot OS. While they both do the same/similar things, both have over 600 pre-loaded tools. Parrot does use some more offer what may be considered a more intuitive user interface. Parrot OS has been around for longer than people think and still has active development a support. But Kali is used more broadly in Training sessions, demos and is considered to be form all the articles I have read, the gold standard for penetration testing and tool sets
Cisco IOS has had a positive impact in how quickly we're able to mitigate issues and outages due to how fast it's able to display the exact data we're looking for and because how the relevant that data is.
Having a stable operating system means less network issues and less outages. It goes without saying how valuable this has been for our organization.
Fantastic TAC support from Cisco! In the rare instances that we're faced with a very complex issue, or unfamiliar territory, Cisco TAC has historically done a phenomenal job of assisting us and getting us sorted!
Initial stages of figuring out back doors in an application hence making them secure.
ROI is good as it reduces in production security threats by letting us know well in advance.
Entire development team along with its designers get a huge sigh of relief as all security holes are sealed well in advance before going into production.