I was hoping for some better information that would explain to me what exactly is a buffer overflow? how is one created? How do you send them? And how do you stop them? Why do hackers love them?

I've read lot's of tutorials and none of them cleary answers my questions. So I am looking for some help. To answer my questions. I don't think I have never actually been the victim of one. And am just curious.