Kustomize, Kpt, Porch, and ConfigHub

How Kustomize, Kpt, Porch, and ConfigHub are different, and why each one was created.