Well we're getting into SUPER SPECIFIC ULTRA MEGA AWESOME PROGRAMMING mode here, so if you don't understand something that I'm saying please just quote me on it and I'll be sure to explain it in greater detail.
I'm assuming by now you understand the difference between private and public variables and how they work differently from eachother, as in one is not able to be called from outside the method and one is, so I'm going to jump right into an example if that's ok with you.
IF YOU DON'T WANT TO READ EVERYTHING JUST GO TO THE LAST PARAGRAPH!
Mr. Programmer has a bunch of different functions in his object that help him calculate trig functions in similar ways. Unfortunately he needs to use variables that only the function can see to help him out with the calculations, and he doesn't want to have to type all of the calculations over and over again.
Now Mr. Programmer has an idea! He thinks "Hey, why don't I use a PRIVATE VARIABLES to help me!" Mr. Programmer knows that he can't just use public variables. What if he accidentally calls them when he means to call a variable of a similar likeness!
Moral of the story is that Mr. Programmer uses public variables to call and set properties for the trig function to process, and uses PRIVATE variables to modify and process the public variables without being able to be changed by outside sources. (Such as the user!)