The answer is simple - a Login name will get you access to a server, but not to any data held in the servers databases. Logins have a password associated with them. A User name will get you access to a database stored on a server, but no access to the server itself.
User names have no password.
Despite the name, the user never needs to know their User name, just their Login name and password. If a user needs access to more than one database on the same server, you need to set up one User Name for each database, but you can link each of these to the same Login, so the user needs to remember only one password. While this might all sound a bit complicated, it provides a way to let a user onto a server but to restrict that users access rights to certain databases only. The link between User names and Login names is implemented as a relationship between the sysxlogins table in the master database and the sysusers table, which resides in each database. This is a common source of confusion when moving databases to a new server - the sysxlogins table on the new server does not usually match the sysxlogins table on the old server, so the link between the sysxlogins table and sysusers fails on the new server.