Display post titles that match string in post content

The problem is that you are matching the title string in the entire content as whole and not word by word.
e.g. if your title is ‘blog’ and content contains the word ‘blogging’, it will still match and pull ‘blog’ from ‘blogging’. So, you can compare them word by word by exploding the content as follows:

<?php

                        // search for matching glossary terms that are in the description

                        $content_search = get_the_content();
                        $content_search = strtolower($content_search);

                        $args_terms = array(
                            'post_type' => 'term',
                            'orderby'   => 'title',
                            'posts_per_page' => -1
                            );

                        $glossary_terms = new WP_Query($args_terms);

                        echo '<h3>Terms Used in this Lesson:</h3>';

                        while ($glossary_terms->have_posts()){
                            $glossary_terms->the_post();
                            $tt_title = strtolower(get_the_title());

                        $content = explode(" ", $content_search);

                        foreach($content as $term){

                            if ($term === $tt_title){

                                $tt_title = ucwords($tt_title);
                                $tt_content = strip_tags(get_the_content());
                                echo do_shortcode('[tooltip tooltip_title="' . $tt_content . '"]' . $tt_title . '[/tooltip]');
                                echo ' | ';
                                }
}
                            }

                            wp_reset_postdata();
                        ?>