I have one possible use for it that I am currently exploring. I have super users that add new users to the database by way of an admin module.
Add new users is not a problem, but when I want to add a new super user, I runn into problems trying to add the db roles "db_accessadmin" and "db_securityadmin". In order to add other users to these two roles, the user must be a db_owner or a sysadmin. I'm not willing to give these privileges to my super users. I am currently exploring the possibility of using an app role that has these privileges to temporarily "elevate" my super users while adding new super users.
It's not finalized, but conceptually it could work. Otherwise, I have not used the AppRole. Our security policies around here require a 1:1 relationship between users and logins (ie, no shared logins).
Regards,
hmscott