I've seen what they are supposed to do, and some explanation as to what they can be used for, but I'm still lost.

What do they do and how do you know when to use them. When you do use them what are the results? For what purpose in normal coding as well as neat tricks are they used? I've read books and the basic books just tell you what they are, then the advanced books assume you know them in and out, nobody seems to be able to explain this so that I can understand.

Thanks a bunch