We have a debate going on between members of my Power Platform developer team and we are pretty much split down the middle.
The debate is when should you off-load actions from Power Apps to Power Automate.
The divide is split around which performs faster/better and which is more stable/reliable/easier to fix.
I expect there is no absolute but the current debate revolves around sending email confirmations following user actions within an app (in this example reserving a desk in our desk booking app).
The current set up is sending the composed email using Office365Outlook.SendEmailV2(), there are several options and dynamic values that are collected as part of the composing process. These values (plus a few extra ones) are saved to either Dataverse or Azure SQL (the app can run on either), on success the email is sent - the patch is wrapped in a variable (if empty the patch failed and an error message is displayed).
The argument for using the PowerApp to send the email is that all the information is there at the moment of execution, so it makes sense to send the email as part of a single transaction, on success.
The argument for using Power Automate is to take the load away from the app and apply a trigger on the database to start the Flow, collect the data (that's just been saved in the table) and then send the email.
I've tried to be unbiased in the above but to be open, I'm for using Office365Outlook.SendEmailV2() as I've had too many experiences with Flows breaking following Microsoft updates, plus it's easy to add extra bits later on if needed.
I do use flow from time to time and I'm open minded about changing over if there is an overwhelming and convincing reason to switch over from using Office365Outlook.SendEmailV2() and similar.