LXD is a management layer for LXC containers, which lets you do things like move/copy containers (to another host), start/stop them, create/attach/detach profiles (network settings), attach/manage various kinds of storage, etc.
LXD also can manage libvirt/KVM/QEMU virtual machines in an almost identical way, so you can mix LXC containers and full VMs and manage them in the same way.
LXD is daemon that manages LXC containers, networks, groups, has a database, etc.