If you try to look up a system preference that doesn't exist, C4::Context won't cache a value for it. Overall, it is logical not to cache a system preference that doesn't exist in the systempreferences database table. However, maybe you distribute a plugin or template which uses a local system preference, and it only exists in some systems. On the systems missing the preference, you'll be doing a database call every time instead of using the cached value of nothing. This is suboptimal from a performance perspective.