Relationships are one the strengths in CRM and it was there from its beginning and Connections introduced with CRM 2011. Recently I had to decide whether the use CRM connections or relationships to implement a feature in CRM and I found pros and cons of using each as solutions. Also I have given my ideas according to my experience with them.
My personal preference is goes to Relationships as it is steady and it clearly expresses the association type among entities. Relationships can be directly seen from each entity with its type even in the forms and it can be easily used in reports and in views. Mostly the relationships are decided at the time of designing the CRM solution and the code (e.g. proxy class) has to be generated to use it in plugins and custom workflows when you are using early bind method. Also if any entity is related to many other entities for different functionalities, there is a possibility of having empty values in CRM records\forms. in that case developers has some more work to hide them or handle blanks in each lookup.
With connections the user can use the association between two records only when needed. But there should be an additional step to be taken, that is relationship role. Also when any connection is retrieved developer has to get the relationship role first. Connections are very useful when the relationship between two entities are rarely used and specially when a scenario having a many to many associations as in a network.
I found a good thread on this initiated by Dinesh and click here to open it;