There is a common mis-conception that the Magento Admin functionality labled "Disable Modules Output" will disable a module.  This actually only prevents what the module is supposed to push to the browser from occuring and instead pushes an empty string.

For example, here in Magento 1.x is some code from the Core that may help

From file app/code/core/Mage/Core/Block/Abstract.php:896
/**
 * Produce and return block's html output
 *
 * It is a final method, but you can override _toHtml() method in descendants if needed.
 *
 * @return string
 */
final public function toHtml()
{
    Mage::dispatchEvent('core_block_abstract_to_html_before', array('block' => $this));
    if (Mage::getStoreConfig('advanced/modules_disable_output/' . $this->getModuleName())) {
        return '';
    }
    $html = $this->_loadCache();
    if ($html === false) {
        $translate = Mage::getSingleton('core/translate');
        /** @var $translate Mage_Core_Model_Translate */
        if ($this->hasData('translate_inline')) {
            $translate->setTranslateInline($this->getData('translate_inline'));
        }
        $this->_beforeToHtml();
        $html = $this->_toHtml();
        $this->_saveCache($html);
        if ($this->hasData('translate_inline')) {
            $translate->setTranslateInline(true);
        }
    }
    $html = $this->_afterToHtml($html);
    /**
     * Check framing options
     */
    if ($this->_frameOpenTag) {
        $html = '_frameOpenTag . '>' . $html . '_frameCloseTag . '>';
    }
    /**
     * Use single transport object instance for all blocks
     */
    if (self::$_transportObject === null) {
        self::$_transportObject = new Varien_Object;
    }
    self::$_transportObject->setHtml($html);
    Mage::dispatchEvent('core_block_abstract_to_html_after',
        array('block' => $this, 'transport' => self::$_transportObject));
    $html = self::$_transportObject->getHtml();
    return $html;
}

Basically, the line that does a bit of checking to see if this configuration has been set, and if so, return an empty string:

 if (Mage::getStoreConfig('advanced/modules_disable_output/' . $this->getModuleName())) {
        return '';
    }

The settings are found in the admin section of Magento, for Disable Modules Output

Magento 1.x Click System -> configuration

Magento 1 system configuration

Now look to the bottom for Advanced, and under that is an Advanced link.  When you click on that, it will show you some fieldsets in the middle of the page, click on Disable Module Output to expand:

Magento 1 disable modules output

For Magento 2.x its slightly different, Left side click Stores then look for Settings and under that should be Configuration, click that link

Magento 2 stores configuration

Now, on the left side look for Advanced and under that should be another Advanced link, click on that to show those fields

Magento 2 disable modules output