Feature engineering is reshaping raw data into something a model can use.
It is where knowledge of the subject enters a project.
A raw timestamp is nearly useless to most models.
Split it into hour, day of week and month and it becomes very useful.
Traffic patterns live in the hour, and shopping patterns live in the weekday.
Categories have to become numbers, and how you do that matters.
One column per category works fine when there are only a few.
With thousands of categories it becomes unusable and needs another approach.
Ratios often beat raw numbers, like price per square metre.
Differences often beat absolute values, like days since the last order.
Combining two columns can capture something neither holds on its own.
Every new feature must be computable at prediction time, or it is useless.
Every new feature must also avoid using the future, or it is leakage.
On tabular data this work usually beats switching to a fancier algorithm.
Deep learning reduces the need for it, but only once you have plenty of data.