I've heard that Cognito is very limited in terms of features and can be a headache to get working properly.
I haven't used Cognito, but I work for FusionAuth (https://fusionauth.io) and we have a number of developers that have switched from Cognito to FusionAuth because we cover more of their use cases outside of plain authentication.
Not sure if you have had similar experience with Cognito being limited.