The engineman on 188 (from what I've read elsewhere) had only gotten qualified on that territory two or three weeks previous to the derailment.
What this means is that he was relatively "new to the territory", and even though he'd made the qualifying trips and had "been ridden" to get certified on the route, again, it was still "new to him".
The territory between New York and Washington is probably the busiest stretch of railroad in the Western Hemisphere -- packed with speed changes, multiple speeds on the same stretch of track (Amtrak actually has "A", "B", "C", "D" and "E" speeds on each track for wherever you are).
Even when you've made the qualifying runs, it takes a while to really get comfortable with the territory so that you "know where you are" without thinking too much about it.
There was a time when you could blindfold me and drop me anywhere on the New Haven line (NY to New Haven CT), take the blindfold off, and I could tell you just where I was.
My guess is that the engineman on 188 (considering he had a difficult trip down to DC and not a lot of "turnaround time") was a bit on the tired side. Combine that with his fresness on the territory, and I believe after he passed North Philadelphia he "lost his sense of where he was" for a moment, thinking that the straight stretch of track he was on was "already past" the curves at Frankford Jct. So.... he began to accelerate (I think speed past the Jct. would have been either 100 or 110 for his train), without realizing that he still had a 50mph "S-curve" still in front of him.
When he saw the 50mph curve coming up (his train speed now around 106mph), he dumped it (put it into emergency).
But by then it was too late, and the curve got him.
As simple as that...