It's been about two years where I've used CDK across several projects. Most were greenfield, and not a transition from a prior implementation. I had a brief test of Pulumi, but not an extended run. I used CDK largely with Typescript. When talking about CDK there are several main variations
cdk8s
CDK for Kubernetes manifests.CDKTF
CDK for Terraform.AWS CDk
CDK for cloud formation.