Why aren’t some plugin styles loading when I load a template?

According to the WordPress Codex, using template_redirect to load a different template is discouraged and can cause certain code to not be executed, which of course can result in strange bugs.

template_include is the more appropriate solution. It loads a template file but without the behavior mentioned above.

add_action( 'template_include', function($original_template)
{
    if (is_singular('business'))
    {
        load_template(get_plugin_path() . 'templates/business.php');
    }

    return $original_template;
});