Bunch of reasons but can be boiled down to:
• lack of control over instance - limited access to config, locked in a kindergarten, minimal extensions
• aurora allowed us to talk to lambdas directly from PG via aws_lambda extension which was pivotal for some required event-based functionality (on aurora sls this would have to be done via a polling mechanism)
• access to the WAL - we need this to implement a custom CDC pipeline. Aurora itself makes use of this access to enable continuous backups
• no more Data API - we can connect using basic parameters which is more flexible