Serf is used within Consul for agent to agent checks (and some communication). There's an entire subsystem called the 'serf check' that shows up within every single Consul agent. It's one component of the entire 'Consul' system.
IIRC Serf is mostly a library; I think the product around it is more for demonstration than actual expected use. Consul uses libserf for it's gossip protocol.
I'm confused. Isn't that what consul originally was?