These answers are really helpful. Another question is : is there a rating difference for me if the opponent runs out the time rather than letting me win the game?
Timing out on purpose
Here it states be relevant and kind, but these guys are not kind nor relevant, they're just a waste of time, just block'em, I don't wanna meet'em no more

That is a good question I asked the same question and all I got was wine away that happens to me regularly.

I've had a couple let the clock run out when I felt their position was equal if not superior to mine. Go figure. I still don't like it. I felt it was an undeserved win. I've also had a few abrupt resignations when I felt my opponent had a superior position.
I've also been chastised for aborting games, which I've done when they've given me an opponent who is rated far higher or lower, in some cases a difference of 700 points. I also aborted one when they rematched me with an opponent who had just beaten me. I don't seee the point of playing someone when you're looking at zero points for a win and -16 for a loss.

i think some of them do it just to spite you, not being able to cope with the fact that they've lost the game.

Totally unprofessional and sad to see. Report it and block them.
They take away your right for a well-deserved checkmate. Do not let them or those actions influence bitterness inside you.
I'm thankful to have this place to talk things out with other like-minded people. We are not alone.

My question is why are people letting the timer run out in a lost position?
Because they are jerks.

These answers are really helpful. Another question is : is there a rating difference for me if the opponent runs out the time rather than letting me win the game?
No. The rating points won or lost are exactly the same regardless of HOW the game is won or lost (checkmate, resignation, time-out, disconnect, etc).
Its because when they start to lose they cry, and cannot find the "resign" button through all the tears.
LOL! I'm sure this is accurate.