As for the question what "really causes resistance":
When looking at a solid which has a periodic crystal structure the electrical resistance would hypothetically be zero if the crystal structure would indeed be perfect and the atoms would keep perfectly still at all temperatures. Note that resistance is a measure of how much - well, resistance - there is for free electrons moving through the solid.
However this is obviously not the case, as if one is at $T \neq 0K$, then the atoms start to oscillate around their equilibrium position. Quantum mechanically one can treat these oscillations as a quasi-particle called the Phonon. So as one leaves the realm of $T = 0 K$ there are basically new particles appearing for the electrons to bump into on their way through the solid, thus increasing the resistance for the electrons.
If one only considers contributions to the resistance from phonons, $R(T = 0 K) = 0$ would be the case. However experimentally one sees that resistance approaches a constant, non-zero value as one approaches $T = 0 K$. This can be explained due to the crystalline structure of the solid not being perfectly periodic, i.e. the solid having impurities.
Generally one can prove that electrons in a perfectly periodic potential can move ABSOLUTELY freely, so any resistance must stem from permanent impurities in the solid or temporary dislocations of individual atoms out of their equilibrium position, i.e. phonons.
So the heat that gets produced by resistance is in fact the electrons bumping into things they "see" on their way through the solid.