Due date signifies when a task is to be completed by. So if you have Task1 out there with Due Date for tomorrow, then it just means that it is to be done tomorrow.
Just like homework, due tomorrow, but might be submitted late, day after tomorrow. So just because a task is due in a day does not mean that it WILL be completed in a day.
End date is set when the task actually completes, or is done. This is typically set by jBPM when it is completed. Just setting the end Date would not mean that the task is completed. This is because Tasks are part of workflow, and other things need to happen on the execution level that need to be taken care of, like advancing to the next node, etc.
Do setting the end task is probably not recommended, and would not achieve much.
So how do I delay the appearence of task in the user's task list. How about using timer for this?
Yes, use a timer, but on an additional state before the task (e.g.call it 'wait before task') and have the timer leave that node at a specific time and transition to the task