trading costs, liquidity, structural changes in the economy etc. del prado's machine learning in finance book gives some good insight into common backtesting pitfalls/thinking that are present here. the "safe" assumption if you find a systematic strategy that backtests well is that your actual, go-forward sharpe ratio will print 50% of what your backtests suggest.