You are right that generally, when one sets some property, it is expected to work. However, due to the specifics of our controls' HTML output and styling, the level of abstraction of a control's element (e.g. RadCalendar day) can not always be replicated in its rendering.
In this particular case, a RadCalendar day renders as two nested HTML elements. Some of the styles, which you might want to set declaratively (ForeColor, BackColor, Borders, etc), should be applied to the outer element in order to work, and some to the inner element, and some can be applied to any of them. Implementing such a declarative styling logic is not feasible (especially when the HTML rendering evolves and changes in time). This is the reason why the observed discrepancy exists.
As for CSS specificity, this is the most important concept of the CSS language in general, eventhough it may not be described with this term everywhere.
the Telerik team