How To get value of column when it exist in content value of column by sql server 2016
Under some simplistic / naive assumptions (that match the given data):


The descriptions have only spaces and no other whitespace or connecting characters (dots, comma, question marks, dashes, etc.)
Titles are single words (no spaces, no extra characters either).


We can use LIKE to check whether a description contains a title:

concat(' ', description, ' ') LIKE concat('% ', title, ' %')


to first check that the matches are according to requirements:

select s.description, coalesce(t.title, 'Others') as title
from table2 as s
  left join table1 as t
  on concat(' ', s.description, ' ')
     LIKE concat('% ', t.title, ' %') ;


and then do the update:

update s 
set s.names = coalesce(t.title, 'Others') 
from table2 as s
  left join table1 as t
  on concat(' ', s.description, ' ')
     LIKE concat('% ', t.title, ' %') ;


Test in dbfiddle.uk