Coupling is the strength of the connection, or the level of dependency, between two modules.
This means there is a lot of dependence between modules:
Tends to make programs more error prone.
Makes them more difficult to write, maintain, and reuse.
Data passing problems. More complicated, bad data.
Chance for functions to alter information others require.
This means functions do not depend on others as much as in tight coupling.
We can change functions independently with greater ease, effectively saving time and money.
While loose coupling can save money and time when changes occur, this needs to be balanced against the advantages obtained by implementing specific relationships. Wikipedia describes many types: https://en.wikipedia.org/wiki/Coupling_(computer_programming)#Coupling_versus_cohesion