What Spacex got right and what they learned. (roghly)
1st stage worked perfectly and payload got to orbit and deployed all satellites.
Flipped stage end over end. AFAIK never done before. Successful
Re-fired main engines. Normally 1st stage engines ignite at Sea Level pressure and fire once. So AFAIK never done before. Successful
Flipped stage end over end back to original orientation. AFAIK never done before. Successful
But stage started to spin (around it's long axis?). Propellant didn't get to engine (AFAIK this was going to need 1 engine firing) and stage crashed.
Actually earlier posters are wrong. This is rocket science because AFAIK no one has investigated the problems of propellant "slosh" in tanks this big or under this much motion ever before. A lot of the work on fluid flow in spinning tanks seems to have been done by the US Army for artillery shells loaded with binary nerve agents. A 95% filled tank spinning at several 1000s RPM is a very different beast to something which is maybe 5% filled (one of which is partly boiling off), although both are actually in "free fall."
Yes, in principle all this can be modeled for the flight conditions (insofar as they are known) and RP1 and LOX are fairly conventional liquids. No doubt Spacex ran many sims but the fact remains that real life is the only certain test for this.
I also got the impression that Spacex were also worried that their radar altimeter would not get good enough reflections off the sea surface to trigger ignition, but obviously this time round that was academic. Personally I always thought that was easy to test with a helicopter over open water.
Note that Spacex's approach of using (nearly) every launch to find out more and use that to drive improvement is one that any LV mfg could used if they cared about improving their product. But as everyone else seems to depend on the customer buying upgrades they don't bother.