Why is the flight going north just to go south?
Aside from the storms causing an earlier re-routing, that jog north is to join the arrival into EWR.  A common fix in NE Ohio on flight plans into EWR is the DJB VOR which is in Loarine county (I think, somewhat near Cleveland). and then routing over Slate Run and then Williamsport, PA on the way into Newark.  If you are a jet coming from the west, this is literally the only way into EWR.  The other two ways in are from the south joining somewhere on a line between Atlanta and Baltimore (which you can transition to from the west by going over Beckley, WV) or from the north coming in over Albany, NY.  The primary reason for the strict routing starting at around the OH/PA border is the need for multiple arrival descents for both jets and turboprops into the various NY area airports (EWR, JFK, LGA, TEB, etc), the westbound departures out of NY center and the letters of agreement between Cleveland and NY centers to manage these traffic flows. 

See this image:
  

This represents a route of ..J29.DORET.J584.SLT.FQM3.  This is not the exact route a LAX originating flight would normally get as they would end up a bit further north (going over Detroit instead of Cleveland), but they would still converge on J584.SLT.FQM3 (the portion east of the OH/PA border).  No matter your position west of the OH/PA border, Cleveland center is going find a way to put you on J584 before you get very far into PA.  This is why the flight couldn't just go direct to EWR and had to first fly north.