If the purpose of your model is prediction and forecasting, then the short answer is YES.
I'll explain. If you boil down forecasting to its most basic form, it's going to be extraction of the invariant. Consider this: you cannot forecast what's changing. If I tell you tomorrow is going to be different than today in every imaginable aspect, you will not be able to produce any kind of forecast.
It's only when you're able to extend something from today to tomorrow, you can produce any kind of a prediction. I'll give you a few examples.
- You know that the distribution of the tomorrow's average temperature is going to be about the same as today. In this case, you can take today's temperature as your prediction for tomorrow, the naive forecast
- You observe a car at mile 10 on a road driving at 60mph. In a minute it's probably going to be around mile 11 or 9. If you know that it's driving toward mile 11, then it's going to be around 11. Given that its speed and direction are constant
- Your neighbor is drunk every Friday. Is he going to be drunk next Friday? Yes, as long as he doesn't change his behavior
- and so on
In every case of a reasonable forecast, we first extract something that is constant from the process, and extend it to future. Hence, my answer: yes, the time series need to be stationary if variance and mean are the invariants that you are going to extend into the future from history. Moreover, you want the relationships to regressors to be stable too.
Simply identify what is an invariant in your model. These things need to stay the same in future if you want your model to have any forecasting power.