The limits of my language mean the limits of my world. — Ludwig Wittgenstein
Glossary
Controller/Operator
A program that runs in a continuous infinite loop trying to converge the system status to a stable point using the specification provided in form of Custom Resources in Kubernetes.
Further Reading: Operator pattern
Declarative Configuration
A configuration or input to a system where user specifies what desired state she wants, but does not specify how exactly the desired state should be achieved? But not telling how exactly this should be achieved. In context of Kubernetes and Controllers Declarative Configuration means the YAML input/files which we use to create and manage resources.
As seen in above example user only specified that she wants to use nginx:1.14.2 Docker image, but did not specify exactly how this image should be pulled, that detail is taken care by kubelet and container runtime
Further Reading: Declarative APIs
Cluster Provisioning
Process of provisioning a Kubernetes Cluster and related infrastructure. When done manually or using provisioning tools like Chef or Puppet it will involve setting up correct infrastructure, initializing nodes with kubeadm or other distribution provider tools and joining the Kubernetes cluster network.
Bootstrap Cluster
A temporary cluster used to provision Management cluster, this can be a short lived cluster in your local environment such as kind, minikube or microk8s
Further Reading: Bootstrap Cluster
Management Cluster
A Kubernetes cluster which is used to run Cluster API controller stack and used to provision other clusters know as Workload Cluster
This cluster can be created using Bootstrap Cluster or you can use a Self Managed cluster from your cloud provider to manage your first stable cluster.
Further Reading: Management cluster
Workload Cluster
A Cluster which is provisioned using Cluster API Management Cluster. This cluster is your end product in terms of provisioning, you can manage multiple cluster and share these clusters with your developer teams or users. While the real control still remains with you in Management Cluster from where you can start upgrades and other operations.
Further Reading: Workload Cluster

Cluster API — It's Kubernetes all the way down

Cluster API is a collection of controllers and external controllers bounded by contracts, with the help of declarative input, that provision a Kubernetes cluster.
Cluster API uses Kubernetes clusters to run controllers that provision a cluster.
Using a temporary Bootstrap Cluster as a stepping stone to provision a long lived Management Cluster and then using these Management Cluster to provision your Workload Clusters.
Now you must be the analogy from the Cluster API artwork where you can see stacked Kubernetes Cluster and why the tagline refers as It's Kubernetes all the way down.

This should give you fair idea about Cluster API structure but you must be feeling a little confused about Core, Bootstrap, Controlplane, Infrstructure, AddOn, IPAM, and RuntimeExtension controllers and their details. Worry not for they are explained in great detail in the next section.