So the way reddit keeps fresh posts at the top, but not forever, is by assigning a time-value to each upvote. For example.
If I submit Post1, it would automatically have 0 "time points", and be at the very top. As each minute passes, it loses "time points" unless someone upvotes it. If someone upvotes it, it increases the "time points" by let's say 2 minutes, which means even after a minute of it being on the front page, it will still be there since someone upvoted it.
However, if nobody else upvotes it for an hour, then it falls towards the bottom of the page, as it's losing "time points" since nobody is upvoting it. This keeps relevant posts at the top without keeping them there forever if it got a ton of upvotes.
This means that over time, only the relevant posts for that day or week, however you want to set it, are on the front page. Otherwise, they start slipping downwards.
I may not be clear... so ask for clarification if I'm not.