Do you really expect someone to write an entire essay on the topic, when there are scores of them already out there? And since you didn't understand those, why would you understand one written here, without telling us what EXACTLY you need clarification on?
Your job, when you post a question here, it to make it as easy as possible for someone to help you - otherwise they won't bother. So far, you have done very little to help us understand your confusion, so you're getting almost no help.
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors