IsDefined only checks static conditions which do not change throughout XBMC's runtime so they are set once at startup and never touched afterwards. In CSettings there's a method that adds all kinds of "static" conditions like has_gl etc. If you run the IsDefined check and it doesn't find the value you pass it in the list of static conditions, the result will be false, otherwise it will be true.

The only case I currently know of that requires this is the peripherals setting when a CEC adapter is present. Can a CEC adapter be plugged in while XBMC is running (i.e. is there runtime detection?) or does it have to be present when XBMC is started? If there's runtime detection we need a dynamic condition which can be evaluated at any given time. But then we'll also need additional logic in CSettingsManager et. al. to update the conditional settings whenever a list of settings is retrieved.