Santosh: Great question, but not sure how much we can do if you’ve already done your research. Anyway, always up for a challenge.
In summary, every task wants to start on the project start date, unless it is told to start on some other date. The two most common ways of constraining a task’s start date is either by using a relationship to another task (as a successor) or by a constraint.
1. The primary difference between the two is that a predecessor/successor relationship constrains the task to another task. A constraint (other than As soon as possible or As late as possible) constrains it to a specific date.
2. The two methods would be used depending on the circumstance as outlined.
3. The preferred method is to use relationships as much as possible and limit constraints (as you probably have already read). If you are managing your project schedule, project can help if you link tasks using relationships.
So that’s the short version without writing a blog or reading it out of a book. I hope that helps, but you should be able to get a much deeper explanation from a book or specific article. I believe there might even be some articles on the MPUG site that were written about this…??