Basically: if you want a task to stay visible after it has been completed you can use the push-pin to make the task sticky.
Sometimes a task is ongoing and it is not fully complete, even when its sub-tasks are all completed or the current status is 100%. Or perhaps, you have completed the task in question but you want to remember to go back and check on it again later. Making a task sticky means it will still show up on the Home Screen (if it is a root task) and in the task tree.
Why would you want to use this?
There are a number of scenarios where this is useful. For example, you might have a task "My Web Site" with a sub-task of "Enhancements" which has individual sub-tasks for enhancements you have planned for your web site. You can choose to make both "My Web Site" and "Enhancements" sticky tasks so that as their sub-tasks are completed, they are still available in the standard views so that new sub-tasks can be added to them.