They're very different beasts.
Ntop is designed to watch network traffic at the packet level on interfaces. It can only collect information from hosts that have the ability to run ntop and process the packets.
MRTG, on the other-hand, collects information from a much larger variety of sources, typically over SNMP, and from a larger number of devices (because almost everything supports SNMP). But, the type of information available is less exacting as detailed packet-parsing.
So... You really need to try both and decide which one gives you the information you're looking for. And if you like both, then use both!