Every time you update/upgrade the firmware. Firmware upgrades not only offer new features, which you may or may not need, but also to address security vulnerabilities. Therefore it is probably unwise to be running the same firmware for three years now.
There is no need to periodically reboot network devices on a schedule.
It's best practice to periodically upgrade firmware for security fixes and any new features that you actually need. Unless you actually need a new feature, don't always upgrade to the very latest. Stick to the "extended maintenance" firmware trains. This limits your exposure to newly-introduced bugs, ensures that you get needed bug fixes, and reduces the number of times you'll have to upgrade.