Primarily, it means two people are trying to tell one another they are in the same club because they speak the same language.
Strictly in the context of programming, it means the programming code is broken down into re-usable parts, usually into stand-alone classes. This way, the code parts can be more easily understood as well as easily moved from one project to another (like modular office furniture) without having to pay a developer to re-do similar things over and over again.
Even if you're not familiar with classes, this technique can be illustrated with a simple function. Ideally a function stands on its own, independent of any outside code to complete its task. As such, even though one programmer writes a function, many others can use it, even if they don't understand how it does what it does (this is one of the main reasons so many people visit forums like this -- to hunt for code to use).
Code:
Function AddTwoNumbers(FirstNum as Long, _
SecondNum as Long) as Long
'Given two numbers, return their sum.
Dim MyNumA as Long
Dim MyNumB as Long
MyNumA = FirstNum
MyNumB = SecondNum
AddTwoNumbers = MyNumA + MyNumB
End Function
Any programmer can copy this function into their program and start using it. They don't have to know how to add two numbers -- or how to write code to add two numbers -- because the function does it for them. They would only need to know how to call it...
Code:
Dim MySum as Long
MySum = AddTwoNumbers(482, 928)
In the context of tables and "access paths," cohesion might be synonymous with atomicity. That is, maybe as they looked at the diagrams, they could have just as easily said: "This is broken down nicely." I'm not wholly sure. Or maybe you misheard them. Perhaps someone said, "The thing about winter -- I'm freezin 90% of the day."
Some people out there are nodding their heads and stroking their chins. Others are dozing off...