I wish to create a dashboard where I could show the user - the roles of all the users and if they wish to change the user role they can update it from the dashboard, how can we do that? (I need an understanding how to display the user role of users on the dashboard)
As deleting a user from a dashboard is not feasible so changing the role to No access might help with Model Security.
I don't think that's a good idea to allow users to manage their roles because of security. It should be managed by Administrator.
As a proposal - you can manually create the list of roles (duplicate system roles), create a module using Users dimension and manually set users roles up. Then, you can publish this module to the dash and provide access to the users. Additionally, you need to set up an action from this module to the users list. It should work like approval process - user change their role, administrator approve/reject this change and trigger the action to update roles.