Just because it's not a programming language doesn't mean it "shouldn't" have variables.
It just makes sense to be able to, for example, declare all the colors you're going to use multiple times in your document ahead of time so you can say "highlighted-area" instead of "#ADD8E6," same as saying "black" instead of #000, it's just "black" is built into CSS itself. It just gives things a semantic and reusable meaning.
For a non-text example, it's similar to how you can create a theme in MS Office and it shows you "theme colors" first in the color selection tool.
It just makes sense to be able to, for example, declare all the colors you're going to use multiple times in your document ahead of time so you can say "highlighted-area" instead of "#ADD8E6," same as saying "black" instead of #000, it's just "black" is built into CSS itself. It just gives things a semantic and reusable meaning.
For a non-text example, it's similar to how you can create a theme in MS Office and it shows you "theme colors" first in the color selection tool.