What is the difference between both expressions? from what I found online it seems like Verbindung **zu** means a link to the while with **mit** it means combination. 

But still I am not sure I could use these expressions with confidence.

Is there even a more general rule behind the use of *mit* and *zu* in other contexts?