It depends on a few things. First, I'm the go-to person in the family/friends circle for system building, and more often than not, their uses for the system are not the same as mine. Sometimes (I'll ask them first) I'll buy a newer part for my system, and give them my current part, as sometimes even the most basic newer part is going to be overkill for what they need. I usually split the difference, too, as far as the cost goes since it's a win/win for both of us.
The last time I built myself a completely new system was probably about a year ago. Before that, it was early 2002, so about 4 to 4 1/2 years. During that time, however, I'll occasionally upgrade certain parts, as mentioned above, or if I have a pressing need to tinker; upgrade memory here, PSU there, etc.
Very rarely will I junk old hardware; usually only if it's not working and unrepairable. I try not to sell it either. I'll recycle old components for repairs or swap-outs on older units, and have built lower-performance systems for specific occasions. For example, my 7 and 9 year old sisters needed a very basic build).