This question is about Semantic HTML. Especially screenreaders (but also any other HTML interpreter) need to know what you want to achieve with a certain tag, hence it is important to be as specific as you can. <b> is not specific. It will just style something in bold. Is it important? How should it be pronounced? No one knows. That's why you should settle for tags, like <strong> and <em> instead. They tell an HTML interpreter more about the meaning of the text. <b> should only be used for purely asthetic purposes. At the same time, CSS should be used to style HTML instead of HTML or inline-CSS (style=""). So in my opinion, <b>, <i> and <u> are very good examples of tags which should be deprecated and never used anymore.
If you know OpenGL, it is very compareable. You can use glLightfv() in order to add a light to the scene. This function is deprecated, but will still work (if you do not set CORE profile). In todays day and age, we have shaders to generate beautiful light and shadows and other corresponding effects which are more performant (and look a lot better) than that function. But there are tutorials and examples which still rely on the old function, so Khronos does not remove it completely (or forbids its use) for backward compatibility.