CDK *does* make CloudFormation a better experience. If CDK makes switching regions or accounts as trivial as using Terraform (if that’s what you mean by being an implementation detail), then that would be a strong reason to consider using it. I’ve seen CDK and sat through a few talks on it; not used it.
Come to think of it, the first time I used CloudFormation (and I used it pretty extensively for 2017), I was pulling “CDK-esque” tricks with Ruby libraries called SparkleFormation and Fog. The source code is still available (and maybe still in use, which is slightly terrifying), and if I read through that I’m pretty sure I parametrized regions and created lookups of related resources without a) using CloudFormation outputs and b) CloudFormation stack sets being a thing. I think that’s what you meant by “being an implementation detail.”
I must say, however, that atomicity of deployments with CloudFormation is also a concern. I just hit a snag that a lot of you (hello, Hacker News!) have hit with ECS tasks causing CloudFormation to hang for twelve hours, and have wound up in UPDATE_ROLLBACK_FAILED states quite a few times using CFN.