How and why is impedence matching done for a CAN bus?
The "terminators" of a CAN bus serve two purposes:

They terminate the transmission line.  The type of CAN you are referring to is intended to be implemented as a twisted pair.  120 &Omega; is roughly the impedance of such twisted pair.  By terminating the ends with the characteristic impedance of the cable, reflections from the ends are minimized.

They keep the bus in the recessive state when nothing is explicitly driving it.  A CAN bus goes to the recessive state by itself, and is only ever driven to the dominant state.  This is essential to how the collision detection mechanism works in CAN.  Basically, if you are "writing" a recessive state to the bus but see it in the dominant state, someone else is writing to the bus also.  In that case you back off (stop trying to write) until the next frame start and let the other node continue.  Note that the other node never knows this happened.