There is no relation whatsoever between CN, sAMAccountName and UPN internally. If you want them to have the same value, you must ensure this in your provisioning.
Some people like to have them be different while some like them to be the same (my preference). It really all comes down to the naming standards for your org. It may be the case that you don't really have any at this level of detail so sometimes that's a good reason to create some. It makes you think about what you want.
CN is only important in terms of the user object's position within the AD tree. It is not used for login or anything like that so to some extent it does not matter what the value is except that it is unique in its current container. sAMAccountName and UPN are much more important and have global uniqueness requirements with UPN needing to be unique forest-wide.