A moving average model is not necessarily bad or good, it is just a model.
One could argue that how you use a model is more significant than the model itself. One thing I realized is that a simple moving average (from TA world) is useful to beginners since it's a very simple model for neophytes to intuitively grasp and apply. You can get into more sophisticated models, like say cointegrated vectors (as applied to spread comment above). They can be very difficult to grasp without the right background, but again, they are just models and suffer from similar issues, on top of being possibly less intuitive.
In both cases, similar issues arise, like
1) how to properly model (SMA with one series is pretty simple)
2) how to parameterize (what parameters, how many, which ones, what is optimal, etc..)
This can get very complex, and SMA again, is very simple and easy to grasp, visually.
3) What features/factors to use? SMA again, makes this simple, it's just lagged values of a series with simple weighting schemes.
4) Optimality constraints can get very complex. And you really have to ask what is optimal? Sharpe, Expectation, Terminal wealth, profit factor, etc... a lot of that is subjective. So until, you start to define this, you don't even really know what you are trying to achieve.
5) multivariate analysis and applications, IMO, are a big step up (trader evolves beyond one series models, this can take years to realize). Here a whole new world opens up.
6) then you have validation methodologies, like lookback window optimization, walk-forward, cross-validation, etc.. etc.. more potential overfitting that has to be dealt with.
..
..
Point being that moving averages aren't necessarily evil or bad, but most (like myself) tend to have disdain for the simplicity and lack of rigor of TA as it is peddled to the masses over and over. Someone could have a model based only on simple moving averages, that I would argue could beat super sophisticated deep learning models, based upon how each is applied.
I once used a sophisticated evolutionary algorithm to find that the optimal crossing period parameters for EOD S&P500 index were 220/221. Is that the best? Maybe, maybe not. But I used a very simple objective criteria for that.
One person's answer may be completely different than another's, without divulging all the criteria behind it. Because it works, doesn't cut it. Using statistical rigor (t-tests etc) as mentioned earlier is good (much better), but not necessarily a panacea, either.
I digressed a bit from topic, but that's some 2c on moving averages.
PS. (esp @ OP)... If you want to look at some of this kind of stuff in slightly more detail (not too math heavy),
Emilio Tomasini , Urban Jaekle, just came out with a new (2nd)version of
"Trading Systems: A new approach to system development and portfolio optimisation " I have the pdf version, and looking forward to reading it. Printed version not released yet, AFAIK