That's correct. Because each work type is defined with its own slot in the inheritance hierarchy, you can already specialize rules according to class type. Thus, no additional specialization mechanism is necessary.
A good guideline to keep in mid when deciding when circumstancing should be used is this:
If the criteria is specific to the case type, then no.
If the criteria is specific to the case, then yes.
For answer 1, the specialization hinges on the type of case the user creates - every case of a specific type requires this functionality. The remaining options all describe situations that vary upon the details of a specific case created from that case type:
The RequestedBy operator (who created the case) and the Budget Code value (how the case was allocated).
A rule is called during the winter months (when the case is processed).
The year an object was built (details about the object described by the case).
A rule is called in either 2013 or 2015 (when the case is processed).