Am I correct that network shield basically blocks bad sites, and the web shield blocks malicious files online?
Yes.
Also Network Shield filters traffic coming from all applications (not only browsers), and on all ports. For performance reasons, though, it tries a bit harder in case of the well-known HTTP ports.
Network Shield is a protection against known Internet worms/attacks. It analyses all network traffic and scans it for malicious contents. It can be also taken as a lightweight firewall (or more precisely, an IDS (Intrusion Detection System).
Network Shield protects you from internet worms that spread themselves via various security holes in your system.
While Network Shield is checking malicious packets (like Sasser or MSBlast generated TCP traffic) and checking of webpage addresses, Web Shield is scanning the actual transfered data. So anytime you view a webpage, pretty much entire content of that webpage is scanned by avast! even before it actually enters the browsers and also all downloaded files that come through HTTP protocol are also scanned. This way you can prevent known exploits from affecting possibly still vulnerable browser.