custom resources allow you to write CFN templates for functionality that is not yet supported natively by AWS. It's useful for new feature releases without Cloudformation support, third party tools, or generally to run lambda functions
See official documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html