> it stored the program in the same memory as the data
Doesn't make sense as a distinction for "stored-program computer", since that's just called a Von Neumann architecture.
Using a unified memory allowed for self modifying code. That's not something we do now, but those early machines had extremely limited memory and every trick was needed just to get anything done.
It is not a "trick", it is one of the only possible ways to achieve Turing-completeness: code self-modification, conditional branches or extensive (exponential) computation (Zuse Z3).