Serf is a decentralized tool for service discovery, membership and failure detection that is lightweight and highly available. It can be used for use cases like clustering web servers and load balancers, clustering services like Memcached and Redis, triggering deployments, updating DNS records and providing simple observability. Consul is a service discovery and configuration tool that supports additional features like rich health checking, multi-datacenter support, key-value storage and requires centralized servers for coordination. Both tools emphasize treating infrastructure as code and easing scaling and recovery through service discovery.