Generally you’d need more than one method. Below is what I use:
1- At “start up” do a manual scan for changes. This is needed if you are monitoring network shares that may have been changed when you are offline
2- Periodic scans similar to above. This is needed for SMB shares that do not support change notifications
3- FileWatcher. Easy to use and if done properly low resources (easy to do improperly too)
4- NTFS Journaling. Using the USN Journal is more efficient than FileWatcher but obviously only works on NTFS.
I recommend at least 1-3 to start with. Media Center itself uses a combination of 1-3 though it uses the Win32 API versus FileWatcher.