In the .h file, you declare an instance variable. Each object will have a different one.
In the implementation file, you declare a global variable (the fact that it does not change anything in the category).
Thus, the value of this variable will be the same regardless of the instance of the object.
Note that this is often useful for modeling class variables, but with a keyword static, so the variable is only available from the implementation file.