Some tasks are moving from the project list to the completed tasks list. Others are checked as completed but remain in the project list.
Please tell me - are all tasks you're referring to parent tasks? If a task is a sub-task, it will remain on the list until its parent task is completed in which case the complete structure will move to the history.
You can do this manually by right-clicking a task and choosing "Move to history" or, if you hold SHIFT while checking off a sub-task, it will be removed from the list automatically.