I like CDK because:
1. it's type-checked (using your choice of language/compiler)
2. modularity is done using in-app code, rather than extending serverless with plugins in javascript
3. i think cdk scales better to projects composed of multiple stacks
4. it's somewhat testable
As the fellow commenter said: I mainly like the power of a programming language (loops, variables, organizing file and directory structure).