When is the present perfect tense used instead of the past tense?
I know that the present perfect tense is used when some adverbs (e.g., never, ever) are present in the sentence.
The present perfect is used for unfinished or undefined time. I don't think your example is correct, since for a year is understood to be a finished time. A time period of one year. It would have been correct if you wrote:
I have walked downtown every day this year.
In that case you'd have unfinished time. The time period would be up to and including now. If you used a defined and finished time in the past like last august, then you'd have to use the simple past.
I walked downtown every day last August.
Since last August is finished time, you have to use the simple past.
The "perfect" part of "present perfect" means that the action has been completed. You are saying that your action of walking downtown every day for a year is complete (which doesn't mean that you won't keep doing it).
The "present" bit means that the action has been completed in the present. Let's contrast it with the past tense:
There is no longer a time frame here. This might have happened years ago, for all we know.
As a side note, please refer to Brian's Common Errors on the subject of "everyday".
Contrast this to the simple past which only shows the event happened in the past. We do not know when it started, nor do we know how it is connected to the present. Additionally, the focus is on the simple fact that the event happened, not how it changes things for you in the present.
Arguably, if you really want to show the event continues through the present, you'd want to use the continuous, but that's a side note.
You are actually talking about two different things here. There is tense (past, present) and there is aspect (finished, ongoing, punctual, etc.). In English these are often somewhat hard to tell apart.
Your example has a tense mismatch. The first part is past tense, while the second part is present tense. You can think of it as equivalent to:
I have been at home since 3:00 PM, when you returned.
Which is clearly ungrammatical, because the first part is present tense and the second is past. The "returning" event took place in the past, so your having been home must have occurred in the past as well. So it would be:
"I had been at home (since X time) when you returned...."