Things that are static can be used by other classes without having to create an object of the class. For example, if you have a non-static constant in one class, you can't access that variable until you make an object of that class. If the variable were to be made static, I would not have to make a new object of a class to access the constants.
Lets say that I have a "Keys" class that I can use to get the keyCodes for KeyboardEvent listeners. Inside the class I have declared these constants:
Since they're not static I would have to do something like this in whatever other class I'm using: var keyNumbers:Keys = new Keys() And then I could access them by going: keyNumbers.LEFT or keyNumbers.RIGHT etc. to get the values.
In any other class, I can now simply go: Keys.LEFT or Keys.RIGHT etc. to get the values without ever having to create a new object of the keys class, like when I made the keyNumbers object.
Pretty much what BlueJayy said... static = able to access this variable without instantiating, const = can be set only once, and can't be changed, usually used for variables that remain the same forever, ie. keyboard keys.