Difference Between Feature Engineering and Feature Learning
Feature engineering refers to creating new information that was not there previously, often by using domain specific knowledge or by creating new features that are transformations of others you already have, such as adding interaction terms or as you state, moving averages. 
A model generally cannot 'pick up' on information it doesn't have, and that is where  finesse and creativity comes into play. 

Whether you should one-hot or leave a feature as categorical depends on the modeling approach. Some, like randomForest will do fine with categorical predictors; others prefer recoding. 

Intuition on these questions comes with practice and experience.  There's no substitute for trying out and comparing toy examples to see how your choices affect outcomes. You should take the time to do that, and intuition will follow.