If all users have a single role then you don't really need another table. Having a mapping table sets up a many to many relationship allowing a single user to have multiple roles, and also the same role assigned to multiple users.
For example, if it was all in the User table, it wouldn't be possible to have the following:
user: bob, roles: user, super user user: joe, roles: user, admin
This is quite a common setup. In this scenario, everyone would typically have the 'user' role but gain additional privileges through other roles. In a traditional RDBMS you simply must have a many to many relationship to model this in a fairly normalized fashion, which requires a mapping table.