Pros
Your software gets used by lots of people. They've got the marketting and sales machine so if you write good software it will get used. I worked for a LOT of startups and Cisco's major competitors and developed good code which never succeeded in the market. (One bridge won prizes as the fastest in the world at the time, but that company only sold a few hundred, while Cisco sold hundreds of thousands of switches in their Catalyst line.) At the end of the day you really want your work to matter.
Cons
IOS is supported on dozens of platforms so often bugs have to be ported to dozens or (for rare critical and pervasive bugs) even hundreds of software branches. While there are tools to help, you can feel like a drone when you have to work on maintenance.