A more accurate description would include the fact that fam used imon on the kernel side to avoid polling. gamin can use inotify on the kernel side. kfsmd uses inotify on the kernel side. Kfsmd isn't really the newest take on the theme but a tool that allows you to take advantage of kernel side monitoring facilities. One area where kfsmd differs from libfam.so and libgamin-1.so is that kfsmd can be used from the command line. As everyone has a C compiler there is nothing stopping anyone directly using inotify from C to perform any monitoring needed, but why bother creating a custom tool to use libfam/gamin/inotify/etc when kfsmd already exists?
Another plus of kfsmd is it already gives you subtree monitoring, setting this up using the raw inotify API is not exactly straightforward.