I would look into sevone - this is a network performance monitoring product for enterprise companies. fantastic product!
Depends on if you are talking LAN or WAN and what protocols you are trying to monitor.
Tools I like include: smokeping, NTOP, NetDoppler, Cactus.
Our WAN provider captures utilization stats and I download the raw data for trend analysis, SLA monitoring and such.Not sure HW would be considered a tool - required to support your SW solution - with an active/active back-up plan.
Network Monitoring = up or down. Therefore you can build trends over time to find correlations for specific devices which may be problematic. The sooner you know something is down, the sooner you can respond and reduce your MTTR [mean time to repair]. Integrating this function with your ticketing / helpdesk solution for bi-directional is optimal.
Network Performance is a whole different arena - keeping reports here allows you to be proactive - with the end goal of preventing an issue before it occurs [eg an outage]. Keeping an eye on CPU utilization, or bandwidth, etc.; plus assists in planning growth. I knew of one business which simply ended up rebooting its servers once-a-month, following discovery of dangerously high CPU utilization. Problem found, problem solved.
Best solution I have seen thus far in this space is Monolith - monitoring and performance all in one integrated platform, built on web 2.0. NOT cost prohibitive, but not freeware. Remember the old adage - you get what you pay for...
Why keep the records - Service Level Agreements, Compliance with Legal requirements, trending and analyses for improvements, network planning, internal metrics, credits issued to customers, etc.