Inserting an element in a tree falls into category 2. Trees are not actually used that often in industry, but they're so fundamental, how could you not know them?
Tree balancing, however, does not fall into this category. You should know that tree balancing exists, and you should know basically how it works (rotations when the sides get too uneven), but the little details are not that essential to know. Skip it.
The complex dynamic programming questions—the ones you read about in big algorithm books—are usually too complex for an interview. They can come up, but they tend not to make good questions.
However, simple dynamic programming questions—memorizing (or caching results between recursive calls)—can come up. It's worth it to spend a bit of time practicing those questions, but they aren't as complex as you might assume