Because its a general misconception about the use of technical indicators. The data they use to execute computations is price that's why they are lagging by definition. But its not the reason why they doesn't work. Price movements is a complex of patterns and based on the assumption that they repeat you can carry out backtesting to see what is the success ratio of making right prediction on the price history.So why people use it if it`s lagging?