A static variable runs for the entire time that the program is running. If you are writing a tax calculating program, rather than defining the annual percentage rate (APR) in every function that calls it, you can define/declare it at the top (or in main) and simply pass it down into the portions of the program that use it.
See where the double "TaxRate" is passed down to "Annual Cost"?
This allows you to, for instance, change the annual tax rate once at the top of your program, instead of searching for every instance of it when you do an annual update/release.
Statics are typically reserved for something of that nature. Though many of us (especially in the first few weeks of learning to program) use them in our instructors classes before learning about scope.