They are related but not necessarily the same. Those kind of affordances like fake loading bars have other purposes. For instance, if you have an app that is capable of refreshing the state of a component in milliseconds that’s great… but most users will miss that change of state if there’s no visual cue that drives attention to that new state.
I’ll write another article about these kind of patterns. :)