Checking if a plugin is installed or enabled are ignored by Twig Extensions
I just a test of this locally in a sample plugin and I get expected behavior.

If I install and enable the plugin in Craft and use this in a template:

{% set plugin = craft.plugins.getPlugin('myPlugin', false) %}

{{ plugin.isEnabled() ? 'plugin enabled' : 'plugin disabled'}}&lt;br/&gt;
{{ plugin.isInstalled() ? 'plugin installed' : 'plugin not installed'}}&lt;br/&gt;

{{ craft.myPlugin is defined ? 'plugin true' : 'plugin false' }}


I get this output:

plugin enabled 
plugin installed 
plugin true


If I add a Twig Extension class to the plugin, then register a myPluginTestFunction function that outputs "It Works"... i.e.

public function getFunctions()
{
    return array(
        'myPluginTestFunction' =&gt; new Twig_Filter_Method($this, 'myPluginTestFunction', array('is_safe' =&gt; array('html'))),
    );
}

public function myPluginTestFunction()
{
    return 'It Works';
}


Then I do this is a template:

{{ craft.myPlugin is defined ? myPluginTestFunction() }}


Then I get the expected output of:

It Works