There is not a best answer. But in my experience I will share with you some topics:
Nagios: Is free, you can install in a few commands and configure in other commands more, then you can use the Webpage, but is not really easy. Have tons of plugins for monitoring almost all in world. But install each Plugin requires advanced IT knowledge, sometimes you need to recompile, other times install thing into Perl, etc. If your company have the time and the correct person with that experience, you can try with Nagios, but be sure have a Backup person in case that this person left the company. Even me, I saw other Nagios Infrastructures and is always very difficult understand what the other sysadmin did.
PRTG: In a few clicks is run, if you have thousands of elements for monitor, you can easily scale the Infrastructure. You need some knowledge, but not so deep for Install and configure everything. The plugins come already installed and configure each of one is three clicks. If the IT admin left the company, other IT admin can comes and understand everything in a few minutes. Comes with Maps included, so you can deploy maps in two clicks.
My resume is, if you have a Linux and SNMP guru, go to Nagios, if not go to PRTG. But also in many cases that I did in the past, I use both, why? Because PRTG doesn't have easy way to monitor each service inside Linux, and Nagios yes thank you to the NRPE plugin. So I putted a PRTG monitoring everything in my network: Cisco, Sonicwall, VMware, Windows, some things with SNMP, and installed a little Nagios for monitoring the Linux machines and services inside, for example Zimbra, Tomcat, etc.
This is my experience, hope helps you :)
Add comment