Does nagios offer any additional functionality when compared to monit?
This answer states that monit is a clumsy tool for situational awareness, which is the reason I'm asking the question.
Yes. Nagios has support for custom scripts and checks, better integration and more granular notification options. Monit is good for basic system checks and daemons monitoring. Nagios is more flexible, but is also more involved to install.
I find that Monit is good for single-host installations, but multi-Monit (M/Monit) really isn't that good of a central console solution. It's good for up/down views at a glance, but falls over with a larger number of hosts or when you need to monitor systems over the WAN. The interface is also too simple.
I find that multiple tools are often needed to provide a good view of an environment. Monit is great for making sure things are running. It's simple enough to get running and can alert if a process that should be present isn't. Think of ntp, sshd, crond, etc. Use Monit to take corrective actions based on that.
My approach over the past few years has required Monit for daemon and custom application monitoring via PID file. Observium or ORCA for graphing and trends analysis. OpenNMS for up/down and notifications. I've yet to find a suite that does it all cleanly. Observium doen't do alerts. Orca is graphing-only, OpenNMS has great notifications and thresholding, but ugly graphs.
I don't use Nagios because of the setup involved and my familiarity with other tools. I've inherited a few Nagios installations that went awry because of poor implementation. I find that OpenNMS + Monit + an RRDTool-based graphing solution work better for me.