SKs in general do two things as I see it. (1) Code readibility, where my elevator app is comparing FloorNum with TopFloorSK, vs with '4'. (2) Easy goof-proof config during startup. I go change TopFloorSK from 4 to 6 in the definition once and threre's no chance I inadvertently miss one '4' in the code nor change an unrelated '4'. Plus it's quicker.
Bool SKs would do those same two things to install-specific bools that they do for ints & floats. Having it recognized by the PLC as a bool lets me use a contact vs. making it an int and having to do a comparison, etc. Also, it would lead to cleaner MATH IFs. "IF(MySK, Exp1, Exp2) + Exp3"
Example case is FeaturedXInstalledSK. Being able to use a contact vs. 'FeatureXInstalled = 1'.