That means that the player's x-velocity is changed by (player.xvel*dt*player.friction). This term defines how fast the player slows down. You can see, that if the player is very fast, then he slows down fast. If he is slow (player.xvel almost zero) then the slowing down is slow.
It is. Due to distributive law, A*(B+C) equals (A*B)+(A*C), and similarly A*(B-C) equals (A*B)-(A*C). Here A=player.xvel, B=1, C=dt*player.friction. Therefore:
player.xvel*(1 - dt*player.friction) = (player.xvel*1) - (player.xvel*dt*player.friction)
___________ _ __________________ ___________ _ ___________ __________________
A B C A B A C
which is the same as Micha said.
There can be differences in the results between the two formulas due to floating point precision, but we would be talking about differences in the 20th significant digit or so.