I often see some database design like this:
Case 1:
UserTable
--id[auto increase]
--UserName
--Password
--Em
Several reason I can think of in your example for using a surrogate primary key (Id) over the username.
For your second question it would be better to use userid than the username in UserTableRole. Whether or not it is better to then also include a surrogate key for this many- to- many table is a matter of opinion. I hate using surrogate id keys for many to many tables and usually just make a compound primary key of the two foreign key ids. The only time I would consider a surrogate key here is if I needed to use it as a foreign key in yet another table.